假设我有一个名为的类LogHelper,它有一个名为的静态方法GetLogger(string name).
有没有办法添加一个静态扩展方法GetLogger()?
我知道通常扩展方法在声明它们时是静态的,但有没有办法在它们"帮助"的类上显示静态?
您可以使用扩展方法:
public static class StringExtensions
{
public static ILogger GetLogger(this string value)
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
然后你可以像这样使用:
string foo = "bar";
ILogger logger = foo.GetLogger();
Run Code Online (Sandbox Code Playgroud)
你也可以使用
public static ILogger GetLogger(string value)
{
...
}
public static ILogger GetLogger()
{
return GetLogger("Default Value");
}
Run Code Online (Sandbox Code Playgroud)
这样当你调用GetLogger()时,它会调用GetLogger(字符串值)但是使用你的默认值.