Skip to content

委托的基本原理

🏷️ C# 学习 C#

委托是一类继承自 System.Delegate 的类型,每个委托对象至少包含一个指向某个方法的指针,该方法可以是实例方法,也可以是静态方法。

委托实现了回调方法的机制,能够帮助程序员设计更加简洁优美的面上对象程序。

csharp
using System;

namespace SimpleDelegate
{
    class Program
    {
        public delegate void TestDelegate(int i);
        static void Main(string args)
        {
            TestDelegate d = new TestDelegate(PrintMessage);
            d(0);       // output : 第 0 个方法
            d(1);       // output : 第 1 个方法

            d.Invoke(2);    // output : 第 2 个方法
            d.Invoke(3);    // output : 第 3 个方法

            Console.Read();
        }

        static void PrintMessage(int i)
        {
            Console.WriteLine("第" + i + "个方法");

        }
    }
}