Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
解析c#统一构造函数时出错_C#_Interface_Constructor_Unity Container - Fatal编程技术网

解析c#统一构造函数时出错

解析c#统一构造函数时出错,c#,interface,constructor,unity-container,C#,Interface,Constructor,Unity Container,问题背景: 我目前正在配置Unity容器,在设置类的构造函数时遇到问题 所讨论的类的构造函数的设置如图所示。它接受3个字符串参数,然后是我在容器中设置的2个对象 public VersionControlFacade(string serverPath, string username, string password, IConnectionManager connectionManager, IPromoManager promoManager) 为上述类配置的Unity容器如下所示: c

问题背景:

我目前正在配置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));
container.RegisterType();
container.RegisterType();
RegisterType(新的InjectionConstructor(connectionString、用户名、密码));
错误:

当前,当尝试解析
UnityContainer
对象时,将引发以下异常:

VersionControlFacade类型没有接受参数(字符串、字符串、字符串)的构造函数

我明白这一点,我确实在传递另外两个参数,但我相信,在我注册了
ipromanager
IConnectionManager
之后,这些参数将被解析并自动注入
VersionControlFacade
构造函数中

谁能告诉我这里的逻辑错误在哪里,我能做些什么来解决它?

我相信您需要:

container.RegisterType<ITfsVersionControlFacade, TfsVersionControlFacade>(new InjectionConstructor(connectionString, username, password, typeof(IConnectionManager), typeof(IPromoManager)));
container.RegisterType(新的注入构造函数(connectionString、用户名、密码、typeof(IConnectionManager)、typeof(ipromanager));

您的另一个问题(与此问题非常相似)表明您可能有命名问题?您实现了
VersionControlService
,即使您感兴趣的构造函数是
VersionControlFacade