C# 在C中定义委托时的不同语法变体#
我在工作中做的事情没有我想做的那么多,我正在努力提高我的技能。我想出了以下定义委托的方法(尽管最后一种是欺骗)。我是否遗漏了任何语法变体C# 在C中定义委托时的不同语法变体#,c#,delegates,C#,Delegates,我在工作中做的事情没有我想做的那么多,我正在努力提高我的技能。我想出了以下定义委托的方法(尽管最后一种是欺骗)。我是否遗漏了任何语法变体 public delegate bool mytest(string input); public static mytest delegateProperty { get; set; } static void Main(string[] args) { delegateProperty = delegate { return true; };
public delegate bool mytest(string input);
public static mytest delegateProperty { get; set; }
static void Main(string[] args)
{
delegateProperty = delegate { return true; };
delegateProperty = delegate(string myInput) { return true; };
delegateProperty = new mytest(delegate(string myInput) { return true; });
delegateProperty = (myInput) => { return true; };
delegateProperty = myInput => { return true; };
var delegateProperty2 = new Func<string, bool>(new mytest(delegate(string bob) { return true;}));
}
公共委托bool mytest(字符串输入);
公共静态mytest delegateProperty{get;set;}
静态void Main(字符串[]参数)
{
delegateProperty=delegate{return true;};
delegateProperty=委托(字符串myInput){return true;};
delegateProperty=newmytest(委托(字符串myInput){return true;});
delegateProperty=(myInput)=>{return true;};
delegateProperty=myInput=>{return true;};
var delegateProperty2=newfunc(newmytest(委托(字符串bob){return true;}));
}
我至少可以看到您遗漏的三种变体
delegateProperty = (string myInput) => { return true; };
delegateProperty = SomeCompatibleMethod;
delegateProperty = new mytest(SomeCompatibleMethod);
来自@mikez
delegateProperty = myInput => true;
delegateProperty=(字符串myInput)=>{return true;}代码>delegateProperty=(字符串myInput)=>{return true;}代码>@SriramSakthivel我赢了4秒:呜呜:@280Z28你在4秒之内就赢了我(我正在删除空格并添加回记号。另外,myInput=>true;
当然,如果你有一个兼容的方法,可以说MyMethod:delegateProperty=MyMethod;
和delegateProperty=newmytest(MyMethod);