KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
The code looks like below: Clock: public class Clock { public event Func<DateTime, bool> SecondChange; public void Run() { for (var i = 0; i < 20; i++) { Thread.Sleep(1000); if (SecondChange != null) { //how do I get return value for each subscriber? Console.WriteLine(SecondChange(DateTime.Now)); } } } } DisplayClock: public class DisplayClock { public static bool TimeHasChanged(DateTime now) { Console.WriteLine(now.ToShortTimeString() + " Display"); return true; } } LogClock: public class LogClock { public static bool WriteLogEntry(DateTime now) { Console.WriteLine(now.ToShortTimeString() + " Log"); return false; } } To run the code: var theClock = new Clock(); theClock.SecondChange += DisplayClock.TimeHasChanged; theClock.SecondChange += LogClock.WriteLogEntry; theClock.Run(); The other questions are: Is it good practice for each subscriber to return a value? Is it good practice to just declare Action/Func as the event return type instead of manually declaring a delegate?
Tags (comma-separated)
Save Edits
Cancel