C# 委托

C# 中的委托(Delegate)类似于 C 或 C++ 中函数的指针。委托(Delegate) 是存有对某个方法的引用的一种引用类型变量。引用可在运行时被改变。

委托(Delegate)特别用于实现事件和回调方法。所有的委托(Delegate)都派生自 System.Delegate 类。

 

假设有如下方法,Method1,Method2,Method3,Method4,Method5,抛开方法的内容,我们来观察一下他们的名字、参数和它的返回值。

public void Method1(int a)
{
    Console.WriteLine("this is method1: " + a);
}

public void Method2(int b)
{
    Console.WriteLine("this is method2: " + b);
}

public int Method3(int m)
{
    Console.WriteLine("this is method3: " + m);
    return m * m;
}

public int Method4(int n)
{
    Console.WriteLine("this is method4: " + n);
    return n + n;
}

public int Method5(int x, int y)
{
    Console.WriteLine("this is method5");
    return x + y;
}

当我们来描述一个方法的时候,其实有两个特征:一个是参数类型列表,一个是返回值。

比如:

 public void Method1(int a) "一个参数为(int), 返回值为void的方法";

 public void Method2(int b)  "一个参数为(int), 返回值为void的方法";

 public int Method3(int m)  "一个参数为(int), 返回值为int的方法";

 public int Method4(int n)  "一个参数为(int), 返回值为int的方法";

 public int Method5(int x, int y)  "一个参数为(int,int), 返回值为int的方法"。

可以发现,Method1,Method2属于同一类,Method3,Method4属于同一类。思考一下,一般的类型都是由一个属于来描述的,比如整数类型用int,学生类型用Student这种class类型,接口用interface,如何用一个标准的术语来描述一个方法类型?

 

委托

 

上一篇:educoder太原理工web程序设计——CSS3-文本字体样式


下一篇:【CSS】CSS 字体样式+外观属性