У меня есть следующий код:
_container = new UnityContainer();
_container.RegisterType<IDownloader, Downloader>();
_container.RegisterType<INewObject, NewObject>();
_container.RegisterType<SearchViewModel>();
Класс SearchViewModel
с внедрением конструктора:
class SearchViewModel
{
private readonly Func<IDownloader> _downloaderFactory;
private readonly INewObject _newObject;
private IDownloader _downloader;
public SearchViewModel(Func<IDownloader> downloaderFactory, INewObject newObject)
{
_downloaderFactory = downloaderFactory;
_newObject = newObject;
}
}
Вопрос: Как зарегистрировать SearchViewModel
, который имеет Fun<>
как параметр?
_container.RegisterType<SearchViewModel>(new InjectionConstructor(DownloaderFactory()));
Приведенный выше код работает только без INewObject
.
Цель:Разрешить factory с помощью InjectionConstructor
и разрешить INewObject, INewObject2, INewObject3
автоматически (как без параметров: RegisterType
).
Возможно ли это? Возможно альтернативы?