我在using static
使用扩展方法时发现了一个限制。
检查以下代码段:
// file: A.cs
namespace Test.A
{
public static class Extensions
{
public static int sum(this int source, int number) => source + number;
}
}
// file: Program.cs
using static Test.A.Extensions;
namespace Test
{
public class Program
{
public void Main()
{
sum(0, 10);
}
}
}
sum(0, 10)
即使用using static
导入也不会有效:编译器说sum
在整个上下文中都不存在。
对于C#7.1,是否有任何解决方法可能不涉及sum
的非扩展方法重载?