【发布时间】:2014-03-05 16:46:05
【问题描述】:
问题背景:
我目前正在配置 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 类型没有接受参数(String、String、String)的构造函数
我明白这一点,我确实传递了另外两个参数,但我相信,因为我已经注册了 IPromoManager 和 IConnectionManager,这些将被解析并自动注入到 VersionControlFacade 构造函数中?
谁能告诉我这里的逻辑哪里错了,我能做些什么来解决它?
【问题讨论】:
-
您的另一个问题(与这个问题非常相似)stackoverflow.com/questions/21675845/… 表明您可能有命名问题?即使您感兴趣的构造函数是
VersionControlFacade,您也实现了VersionControlService?
标签: c# interface constructor unity-container