簡體   English   中英

解決C#Unity構造函數時出錯

[英]Error resolving c# Unity constructor

問題背景:

我目前正在配置Unity容器,在設置類的構造函數時遇到問題。

所設置的類的構造函數如下所示。 它接受3個字符串參數,然后接受我在容器中設置的2個對象。

public VersionControlFacade(string serverPath, string username, string password, IConnectionManager connectionManager, IPromoManager promoManager)

為上述類配置的Unity容器如下所示:

container.RegisterType<IPromoManager, promotionManager>();
container.RegisterType<IConnectionManager, connectionManager>();
container.RegisterType<ITfsVersionControlFacade, TfsVersionControlFacade>(new InjectionConstructor(connectionString, username, password));

錯誤:

當前,當嘗試解析UnityContainer對象時,將引發以下異常:

類型VersionControlFacade沒有使用參數(字符串,字符串,字符串)的構造函數

我知道這一點,我確實確實傳入了另外兩個參數,但是我相信當我注冊IPromoManagerIConnectionManager ,這些參數將被解析並自動注入到VersionControlFacade構造函數中嗎?

誰能告訴我這里的邏輯哪里錯了,我該怎么做才能解決呢?

我相信您需要:

container.RegisterType<ITfsVersionControlFacade, TfsVersionControlFacade>(new InjectionConstructor(connectionString, username, password, typeof(IConnectionManager), typeof(IPromoManager)));

看到

用於多參數構造函數的Unity InjectionConstructor僅覆蓋單個一個

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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