C#扩展方法使用静态

时间:2017-08-27 13:24:44

标签: c# extension-methods using using-statement c#-7.0

我在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的非扩展方法重载?

0 个答案:

没有答案