All pastes #361177 Raw Edit

Something

public text v1 · immutable
·published 2007-02-17 23:55 UTC
rendered paste body
using 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); }
    }
}