Получите конкретный сервис, который многие классы реализовали, не создавая экземпляры других классов - PullRequest
0 голосов
/ 05 ноября 2019

У меня есть пример ниже:

public interface IPerson
{
     string Name {get;}
}

и 2 класса. Реализуйте этот интерфейс, как показано ниже:

public class John : IPerson
{
         string Name {get;} = "John";
}

public class Anna : IPerson
{
         string Name {get;} = "Anna";
}

При использовании поставщика услуг я использую метод ниже

serviceProvider.GetServices<IPerson>().SingleOrDefault(i => i.Name== "John");

Как я знаю, все экземпляры класса tow и выше описанного метода возвращают класс с именем "John". На самом деле у меня есть много таких классов, и это не очень хорошая идея сделать это таким образом. Это лучший способ сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...