我们声明或者定义一个委托的时候通过delegate来定义,在C#高版本后增加了Action与Func的方法。用来简化委托的定义过程
Action是void无返回值的委托
Func是带返回值的委托
Action定义与使用
定义
Action<string> action1;
中间的string 表示这个委托有一个参数是string ,类似delegate以下定义
delegate void PrinftInfo(string parama) 这样的定义
如果定义成Action<string,string> 则表示有两个传入参数的委托,类似delegate
delegate void PrinftInfo(string parama, string paramb)
示例
public class DelegateTest7
{
//定义包含一个string参数的委托
private Action<string> actionStr;
//委托对应的 方法1
private void Method1(string a)
{
Console.WriteLine("Method1:" + a);
}
// 委托对应的 方法2
private void Method2(string b)
{
Console.WriteLine("Method2:" + b);
}
/// <summary>
/// 测试
/// </summary>
public void DoTest1()
{
//将多个方法给委托
actionStr += Method1;
actionStr += Method2;
//调用当前委托
actionStr("abc");
}
}
结果是:
Method1:abc
Method2:abc
本文暂时没有评论,来添加一个吧(●'◡'●)