Как решить единство зависимости в консольном приложении от конструктора нового экземпляра - PullRequest
0 голосов
/ 30 апреля 2018

Справочная информация:

До сих пор я использовал Unity IoC только в приложении WPF.
Я хотел бы использовать это в консольном приложении.
В приложении WPF запускается некоторая «магия» для автоматического выбора правильного конструктора нового объекта / экземпляра.

Вопрос:

Как я использую ту же «магию» в своем консольном приложении?

static void Main(string[] args)
{
    IUnityContainer unitycontainer = new UnityContainer();

    // RegisterType of Dependency in container
    unitycontainer.RegisterType<IMyDependency,Dependency>(new ContainerControlledLifetimeManager());

    // How shall I choose the correct constructor?
    // In WPF Application the correct constructor was used automatically
    // How the wpf apps use the correct constructor with my dependencies?
    var newclass = new newclass();
}

public class NewClass
{
     private readonly IMyDependency _dependency;

     public NewClass(IMyDependency dependency)
     {
         _dependency = dependency;
     }
}

1 Ответ

0 голосов
/ 30 апреля 2018

Вызовите IUnityContainer.Resolve, чтобы создать экземпляр класса, который вызовет конструктор с зарегистрированными зависимостями.

var newclass = unitycontainer.Resolve<NewClass>();

...