C# Unity System.InvalidOperationException:&x27;未找到任何成员匹配数据

C# Unity System.InvalidOperationException:&x27;未找到任何成员匹配数据,c#,unity-container,C#,Unity Container,我正在尝试注册以下类型,如下所示: IDbManager db= new DbManager(ConnectionDbType.SqlServer); InjectionConstructor injectionConstructor = new InjectionConstructor(db); .RegisterType<IDbManager, DbManager>(injectionConstructor) 完全错误: System.InvalidOperationExce

我正在尝试注册以下类型,如下所示:

IDbManager db= new DbManager(ConnectionDbType.SqlServer);
InjectionConstructor injectionConstructor = new InjectionConstructor(db);

.RegisterType<IDbManager, DbManager>(injectionConstructor)
完全错误:

System.InvalidOperationException:'注入构造函数 .ctor(DataAccessHandler.DbManager)无法与任何 IDbManager类型上的公共构造函数

错误: RegisterType(Invoke.Constructor(DataAccessHandler.DbManager)) 内部异常:ArgumentException:注入构造函数 .ctor(DataAccessHandler.DbManager)无法与任何 IDbManager类型上的公共构造函数


我做错了什么?

如果其他人遇到这个问题,我最近自己也遇到了这个问题,当时我试图用一个2参数构造函数注册一个类型,但Unity一直声称它找不到构造函数。所讨论的构造函数采用
类型
字符串
,最初我试图将其注入注册中,如下所示:

...
new InjectionConstructor(this.GetType(), "some string")
事实证明,无论出于什么原因,Unity都无法根据我提供的注入构造函数的值来解析构造函数参数的类型。对于第一个参数,我必须明确说明构造函数应该期望的参数类型,这意味着我的注册必须更改,因此:

new InjectionConstructor(new InjectionParameter<Type>(this.GetType()), "some string")
newinjectionconstructor(newinjectionParameter(this.GetType()),“some string”)

InjectionParameter
的泛型参数必须与声明的构造函数参数类型匹配,以便Unity可以正确解析构造函数,但为该参数传入的参数只需与该类型兼容
InjectionParameter
也可以是任何其他Unity参数类型,如
ResolvedParameter
,等等。

如果其他人遇到这个问题,我最近自己也遇到过,我试图用2参数构造函数注册一个类型,但Unity一直声称找不到构造函数。所讨论的构造函数采用
类型
字符串
,最初我试图将其注入注册中,如下所示:

...
new InjectionConstructor(this.GetType(), "some string")
事实证明,无论出于什么原因,Unity都无法根据我提供的注入构造函数的值来解析构造函数参数的类型。对于第一个参数,我必须明确说明构造函数应该期望的参数类型,这意味着我的注册必须更改,因此:

new InjectionConstructor(new InjectionParameter<Type>(this.GetType()), "some string")
newinjectionconstructor(newinjectionParameter(this.GetType()),“some string”)
InjectionParameter
的泛型参数必须与声明的构造函数参数类型匹配,以便Unity可以正确解析构造函数,但为该参数传入的参数只需与该类型兼容
InjectionParameter
也可以是任何其他统一参数类型,如
ResolvedParameter