static void MainA()
    {
        MyOtherDelegate d1 = TakeDerived;
        MyOtherDelegate d2 = TakeBase;

        d2(new Derived());
    }
示例#2
0
        //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();
        }