显示列表
 C#中的委托2008-06-17

委托是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。
委托方法的使用可以像其他任何方法一样,具有参数和返回值。

一个最简单的例子。

using System;


namespace DelegateTest
{
    // 用 delegate 关键字定义一个委托。
    public delegate void WriteText(string message);

    public class Test
    {
        public static void Main()
        {
            WriteText handler = Write; // 实例化委托

            // 可以用“+”或“+=”给委托添加方法或删除方法
            // 委托和它绑定的方法它们的参数和返回值要一样,否则是不能绑定的。
            handler += Write2;

            // 使用可以像其他任何方法一样,具有参数和返回值。
            handler("Hello World!");

            Console.ReadKey();
        }

        public static void Write(string message)
        {
            System.Console.WriteLine(String.Format("*** {0} ***", message));
        }

        public static void Write2(string message)
        {
            System.Console.WriteLine(String.Format("### {0} ###", message));
        }
    }
}


标签:未完待续 
返回摘要 | 分类(C#/CSharp) | 访问(78) | 编辑