1.委托的典型性使用方法

  1.1界定一个委托:

public delegate int AddDelegate(int i, int j);

  1.2 界定一个MyClass类,置放一个考虑 AddDelegate委托规定的方法

1 class MyClass
2 {
3     public int Add(int i , int j)
4     {
5         return i   j;
6     }
7 }

   1.3界定一个委托自变量

AddDelegate del = null;

 1.4实例化一个MyClass目标,并将其 Add方法引入发送给委托自变量del

MyClass obj = new MyClass();
del = obj.Add ;

 1.5根据委托自变量启用MyClass目标的 Add()方法

int result = del(100, 200);
Console.WriteLine(result);//300

汇总:界定委托,界定委托所必须的方法,启用

2.为了更好地简单化委托程序编写,C#最先导入了一种英语的语法特点—— 密名方法,以后,再当然地演变为了更好地Lambda关系式。

  密名方法的实例(AnonymousMethodToLambda )

    2.1界定委托

      

public delegate int AddDelegate(int i,int j );

    2.2应用密名方法界定委托自变量//密名方法“没有名字”, 能够立即取值给委托类 型的自变量。

AddDelegate del = delegate(int i, int j)
{
    return i   j;
};

    2.3根据委托自变量“间接性”地启用方法

    

Console.WriteLine(del(100,200)); //300

汇总:密名方法实际上是将方法界定与委托自变量取值2个流程 合而为一,进而省掉了专业界定合乎委托规定的方法 这一流程。(1.2和1.4)

3.更进一步,将密名方法变换为Lambda关系式……

  3.1

AddDelegate del = (i, j) => i   j;

汇总:Lambda关系式在作用上等额的于密名方法,能够当做是密名方法的进一步简单化