static void MainA() { MyOtherDelegate d1 = TakeDerived; MyOtherDelegate d2 = TakeBase; d2(new Derived()); }
//public void InvokeDelegate() //{ // MyDelegate myMethod = SayHi; // this.Timer = new System.Timers.Timer(interval); // this.Timer.Elapsed += new ElapsedEventHandler(myMethod); // this.Timer.Start(); // Console.ReadKey(); //} //public static void SayHi(object sender, ElapsedEventArgs e) //{ // Console.WriteLine("Hi at {0:HH:mm:ss}", e.SignalTime); //} public void Start() { MyOtherDelegate myOtherMethod = SayHi; this.Timer = new System.Threading.Timer(new TimerCallback(myOtherMethod), null, 0, this.Interval); Console.ReadKey(); }