我有点困惑为什么这不会出错。我在一些过时的遗留软件深处发现了这段代码,并惊讶地发现它可以工作。
public static string CleanFileName(this string fileName)
{
return CleanFileName(fileName, 64);
}
public static string CleanFileName(this string fileName, int maxLength)
{
//some logic
}
我对扩展方法的经验是这样称呼它:
fileName.CleanFileName(64);
这是否仅因为它也是静态方法而起作用?这是常见的做法,只是我还没有看到的东西,还是我应该用火杀死的过时的遗留代码?