Определить сборку для метода расширения - PullRequest
0 голосов
/ 20 октября 2018

Я пытаюсь использовать метод расширения, но метод определяется дважды с тем же именем.Допустим, A.Extensions.Ext() и B.Extensions.Ext() мне нужны обе ссылки в моем классе, и при попытке

using A.Extensions;
using B.Extensions;
class C
{
    public void Main()
    {
        somevalue.Ext();
    }
}

я хочу как-то определить, какой метод использовать, и я не знаю, как это сделать.Спасибо за помощь!

1 Ответ

0 голосов
/ 20 октября 2018

Если эти классы находятся в разных пространствах имен, вам нужно просто написать, используя для расширения метод, который вы хотите использовать - using ConsoleApp.A;

Но если вы хотите указать явно:

Предположим, что выиметь два класса с методами расширения для строки

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();
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...