我不会像工作中那样做C#,并且努力保持我的技能。我想出了以下定义委托的方法(虽然最后一种是作弊)。我错过了任何语法变体吗?
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;}));
}
答案 0 :(得分:0)
我可以看到你错过的至少三种变体。
delegateProperty = (string myInput) => { return true; };
delegateProperty = SomeCompatibleMethod;
delegateProperty = new mytest(SomeCompatibleMethod);
来自@ mikez
delegateProperty = myInput => true;