public void Test() { var s1 = new Subscriber("S1"); var s2 = new Subscriber("S2"); var s3 = new Subscriber("S3"); SendMessage += s1.ReceiveMessage; SendMessage += s2.ReceiveMessage; SendMessage += s3.ReceiveMessage; Console.WriteLine("Simulate initializing..."); Thread.Sleep(1000); var data = new MessageArgs { Message = "Class begin!" }; SendMessage?.Invoke(null, data); SendMessage -= s1.ReceiveMessage; Thread.Sleep(1000); data.Message = "Calling from main function"; SendMessage?.Invoke(null, data); Console.WriteLine("Class is over!"); }
public void ReceiveMessage(object sender, MessageArgs s) { Console.WriteLine($"I know i my name {Name} and message {s.Message} "); }