有什么办法可以向类添加静态扩展方法。
特别是我想重载Boolean.Parse以允许一个int参数。
简而言之,不可以。
长话短说,扩展方法只是语法糖。IE浏览器:
如果您对字符串有扩展方法,可以这样说:
public static string SomeStringExtension(this string s) { //whatever.. }
当您调用它时:
myString.SomeStringExtension();
编译器将其转换为:
ExtensionClass.SomeStringExtension(myString);
如您所见,静态方法无法做到这一点。
而就明白了我另一件事:什么,这真是 一点 是能够在现有的类添加静态方法?您可以拥有自己的帮助程序类来完成相同的任务,因此执行此操作真正的好处是:
Bool.Parse(..)
与
Helper.ParseBool(..);
确实没有带来太多好处…