C# · 1月 29, 2022

c# – 将Func初始化为扩展方法

是否可以使Func委托一个扩展方法?
例如,就像你可以创建函数一样 bool isSet(this string x) {return x.Length > 0;}

我希望能够写出类似的东西

Func<string,bool> isSet = (this x => x.Length > 0);

当然,上述内容在语法上并不正确.有什么事吗?如果没有,那是语法或编译的限制吗?

解决方法 简答:不,那是不可能的.

扩展方法是语法糖,只能在某些情况下定义(静态类中的静态方法). lambda函数没有与之相当的东西.