小编典典

静态扩展方法

c#

有什么办法可以向类添加静态扩展方法。

特别是我想重载Boolean.Parse以允许一个int参数。


阅读 314

收藏
2020-05-19

共1个答案

小编典典

简而言之,不可以。

长话短说,扩展方法只是语法糖。IE浏览器:

如果您对字符串有扩展方法,可以这样说:

public static string SomeStringExtension(this string s)
{
   //whatever..
}

当您调用它时:

myString.SomeStringExtension();

编译器将其转换为:

ExtensionClass.SomeStringExtension(myString);

如您所见,静态方法无法做到这一点。

而就明白了我另一件事:什么,这真是 一点 是能够在现有的类添加静态方法?您可以拥有自己的帮助程序类来完成相同的任务,因此执行此操作真正的好处是:

Bool.Parse(..)

Helper.ParseBool(..);

确实没有带来太多好处…

2020-05-19