C# 为扩展方法定义程序集

C# 为扩展方法定义程序集,c#,extension-methods,C#,Extension Methods,我尝试使用扩展方法,但该方法使用相同的名称定义了两次。 比如说A.Extensions.Ext()和B.Extensions.Ext()我在我的类中和尝试时都需要引用 using A.Extensions; using B.Extensions; class C { public void Main() { somevalue.Ext(); } } 我想以某种方式定义使用哪种方法,但我不知道如何做到这一点。 谢谢你的帮助 有一种方法可以选择要使用的扩展方

我尝试使用扩展方法,但该方法使用相同的名称定义了两次。 比如说
A.Extensions.Ext()
B.Extensions.Ext()
我在我的类中和尝试时都需要引用

using A.Extensions;
using B.Extensions;
class C
{
    public void Main()
    {
        somevalue.Ext();
    }
}
我想以某种方式定义使用哪种方法,但我不知道如何做到这一点。
谢谢你的帮助

有一种方法可以选择要使用的扩展方法

假设有两个类具有字符串的扩展方法

public static class Extension1
    {
        public static string GetLowerCaseResult(this string str)
        {
            return str.ToLowerInvariant();
        }
    }

    public static class Extension2
    {
        public static string GetLowerCaseResult(this string str)
        {
            return str.ToLowerInvariant();
        }
    }
要在Main方法中调用它,必须以这种方式显式指定类和方法

static void Main(string[] args)
        {
            var str = "QWERTY";
            Extension2.GetLowerCaseResult(str);
            Console.Read();
        }

您可以显式调用该方法,将要处理的对象作为第一个参数传递。您不必使用扩展语法。另见