C# 委托Delegate的用法及将方法当参数传递的理解

委托Delegate定义了方法的类型, 使得可以将方法当做另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,使得程序具有更好的可扩展性。委托是一个引用类型,它保存的不是实际值,而是对函数(function)的引用。

通过以下示例帮大家理解
1.定义委托
public delegate void MyDelegate(int value);

2.可以把该委托声明当作变量类型传给函数
public void DoSomething(MyDelegate func)
{
        //这里的处理结果,可传给func函数,例如这里处理结果为666
        if (null != func)
         {
                 func(666);
        }
}

3.定义一个匿名方法
MyDelegate func = delegate (int value) {
   MessageBox.Show ("传来的结果:"+ value.ToString ());
};

4.当DoSomething函数执行时,会调func函数
 private void Delegatebutton_Click(object sender, EventArgs e)
 {
     DoSomething(func);
 }

你可能感兴趣的:(c#,开发语言,后端)