委托Delegate的基本用法

来源:互联网 发布:淘宝买家好评率查询网 编辑:程序博客网 时间:2024/05/19 20:43

    翻译自https://msdn.microsoft.com/en-us/library/ms173172.aspx。

    委托(delegate)是一种类型,它安全地封装了一个方法,类似于C和C++中的函数指针。和C的函数指针不同,委托是面向对象的,类型安全而且secure(?)。

    下述代码声明了一个名为Del的委托,它封闭了一个方法,该方法有一个string类型的参数,返回void:

        public delegate void Del(string message);

    写一个样例方法:   

        // Create a method for a delegate.        public static void DelegateMethod(string message)        {            System.Console.WriteLine(message);        }
    创建一个Del类型的对象引用上述方法,再调用它:

            // Instantiate the delegate.            Del handler = DelegateMethod;            // Call the delegate.            handler("Hello World");
    委托类型源自.NET框架中的Delegate类。委托类型是sealed的,不能被继承。由于实例化的委托是一个对象,所以它可以被当成参数,或是被分配给一个属性(property)。这就允许一个方法接受委托作为参数,在一段时间后再调用该委托。这也被称为异步回调,也是用来通知调用者一个进程已经结束的一种常见方法。当以这种方式使用委托时,使用委托的代码并不需要了解任何实际被调用方法的具体实现的信息。
0 0
原创粉丝点击