Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- public delegate void MyEventHandler<TEventArgs>(Object sender, TEventArgs e) where TEventArgs : EventArgs;
- public class MyEventArgs : EventArgs {
- public string Message { get; private set; }
- public MyEventArgs(string message) {
- Message = message;
- }
- }
- public class Foo {
- public event MyEventHandler<MyEventArgs> Greetings;
- protected virtual void OnGreetings(MyEventArgs e) {
- Greetings?.Invoke(this, e);
- }
- public void Greet(string message) {
- OnGreetings(new MyEventArgs(message));
- }
- }
- public class Sample {
- public static void Main() {
- var foo = new Foo();
- foo.Greetings += Greet;
- foo.Greet("Hello World!");
- }
- private static void Greet(Object sender, MyEventArgs e) {
- Console.WriteLine(e.Message);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement