rendered paste bodyusing System;
namespace delegates
{
class Program
{
static void Main(string[] args)
{
MyClass myClass = new MyClass();
MyDelegate myDelegate = new MyDelegate(myClass.MyMethod);
myDelegate("A string..");
MyDelegate anotherDelegate = new MyDelegate(myClass.AnotherMethod);
myDelegate = myDelegate + anotherDelegate;
myDelegate("Another string..");
myClass.ThirdMethod(myDelegate);
myClass.MyEvent += new MyDelegate(myClass.MyMethod);
myClass.MyEvent += delegate(string text) { Console.WriteLine(text.ToLower()); };
myClass.MyEvent += new MyDelegate(myClass_MyEvent);
myClass.RaiseEvent("Raising Event");
}
static void myClass_MyEvent(string text)
{
Console.WriteLine(string.Concat("EventHandler: " ,text));
}
}
delegate void MyDelegate(string text);
class MyClass
{
public event MyDelegate MyEvent;
public void MyMethod(string text) { Console.WriteLine(text); }
public void AnotherMethod(string text) { Console.WriteLine(text.ToUpper()); }
public void ThirdMethod(MyDelegate delegatePassed) { delegatePassed("A passed delegate.."); }
public void RaiseEvent(string text) { MyEvent(text); }
}
}