[英]Using WPF and Prism, how to resolve a dependency not using constructor injection
[英]How do I specify constructor parameters in my dependency injection container in Prism?
如何在使用 Prism 配置的依賴項中注入構造函數參數?
我覆蓋了RegisterTypes
來注冊我的依賴項,如下所示:
public partial class App : PrismApplication
{
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
containerRegistry.Register<IMyService, MyService>();
}
}
但是, MyService
有一些我需要能夠傳入的構造函數參數。我希望能夠將構造函數參數傳遞給MyService
,類似於我在 Unity 中這樣做的方式。
containerRegistry.Register<IMyService, MyService>(
new InjectionConstructor("param1", "param2"));
我會創建一個手工編碼的IMyServiceFactory
。 這可以傳遞您的參數和服務的潛在依賴關系。
public interface IMyServiceFactory
{
IMyService CreateMyService();
}
internal class MyServiceFactory : IMyServiceFactory
{
public IMyService CreateMyService() => new MyService( "param1", "param2" );
}
也看看這個答案。
另一種選擇是注冊一個實例:
containerRegistry.RegisterInstance<IMyService>(new MyService("param1", "param2"));
參考: 使用 Prism 注冊類型
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.