Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
c#委托的使用_c#,希望能够帮助你!!!。
委托是一种动态调用方法的类型,属于引用型。委托是对方法的抽象和封装。委托对象实质上代表了方法的引用(即内存地址)。委托通常是委托某个方法来实现具体的功能。当我们调用委托的时候,委托包含的所有方法将被执行。虽然在定义委托时与方法有些相似,但我们不能将其称为方法。
定义一个int返回值、带一个参数的委托:
修饰符 delegate 返回值类型 委托名 ( 参数列表 ); public delegate int TestDelegate(int x, int y);
定义好委托后就到了实例化委托的步骤,命名方法委托在实例化委托时必须带入方法的具体名称。
委托名 委托对象名 = new 委托名 ( 方法名 );
在实例化委托后即可调用委托,语法形式如下。
委托对象名 ( 参数列表 );
class Program { public delegate void MyDelegate(); static void Main(string[] args) { MyDelegate myDelegate = new MyDelegate(Test.SayHello); myDelegate(); } } class Test { public static void SayHello() { Console.WriteLine("Hello Delegate!"); } }
Action和Func是系统预定义的委托,所以不需要我们再进行定义了,没有返回值。有两种形式,一种是单独的Action既没有返回值也不可以带参数;另一种是没有返回值,可以带参数的Action<>,参数限制0~16个。Action是无返回值的泛型委托。
Action 表示无参,无返回值的委托。
Action<int,string> 表示有传入参数int,string无返回值的委托。
Func<返回值类型>必须有返回值,不能是void,参数0~16个。
Func<参数1,参数2,返回值类型>必须有返回值和参数,不能是void
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
上一篇
已是最后文章
下一篇
已是最新文章