初识C#委托

MSDN:
委托是一个类型,是一个定义签名的类型,即方法的返回值类型和参数列表类型。可以使用委托类型来声明一个变量,该变量可以引用与委托签名相同的所有方法。



委托仅仅是函数指针,那就是说,它能够引用函数。

那么,定义一个委托,也就等于定义一个函数指针,

那么,函数指针指向一些什么样的函数呢?

这就在定义委托的时候决定了,如:

public delegate void ShowDelegate(int p);

这就定义了一个委托 ShowDelegate。他指向的函数的返回类型为:void,函数有 1 个参数,类型为 int 型。

委托可以用来调用函数,如:

        ShowDelegate abc = new ShowDelegate(ShowHi);

        abc(15);

也可以做为函数的参数。

但大多数委托的用途多用于事件上。

事件就是委托的实例:

public event 委托名(xxxEventHandler) 事件名/实例名;

详细请看:

http://www.cnblogs.com/finesite/articles/255884.html


using System;

public class TestDelegate
{

    public delegate void ShowDelegate(int p);

    public static void ShowHi(int a)
    {
        Console.Write("Hi:{0}\n", a);
    }

    public static void ShowHello(int b)
    {
        Console.Write("Hello:{0}\n", b);
    }

    public static void HowShow(ShowDelegate pr)
    {
        int a = 10;
        pr(a);
    }

    public static void Main()
    {
        HowShow(new ShowDelegate(ShowHello));

        ShowDelegate abc = new ShowDelegate(ShowHi);

        abc(15);
    }

}

posted @ 2006-08-15 21:03  pcvc  阅读(619)  评论(0编辑  收藏  举报