簡體   English   中英

如何在 Prism 的依賴注入容器中指定構造函數參數?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM