有什么方法可以将静态扩展方法添加到类中。
具体来说,我想重载Boolean.Parse以允许int参数。
Boolean.Parse
int
简而言之,不,你不能。
长答案,扩展方法只是语法糖。IE:
如果您对字符串有扩展方法,可以说:
public static string SomeStringExtension(this string s) { //whatever.. }
当你调用它时:
myString.SomeStringExtension();
编译器只是把它变成:
ExtensionClass.SomeStringExtension(myString);
如您所见,静态方法无法做到这一点。
我突然想到另一件事:能够在现有类上添加静态方法的真正 意义是什么? 您可以拥有自己的帮助程序类来做同样的事情,那么能够这样做的真正好处是什么:
Bool.Parse(..)
对比
Helper.ParseBool(..);
并没有真正带来太多的桌子......