我想使用unity创建一个类的实例,其中类有两个具有相同参数数量的构造函数.
这是实例化:
_unityContainer.Resolve<IGradeType>(new ParameterOverride("gradeTypeStringFromXmlFile", gradeTypeStringFromXmlFile));
Run Code Online (Sandbox Code Playgroud)
以下是构造函数:
public GradeType(string gradeTypeStringFromXmlFile)
{
_gradeTypeStringFromXmlFile = gradeTypeStringFromXmlFile;
}
public GradeType(Enum.GradeType gradeType)
{
_gradeType = gradeType;
}
Run Code Online (Sandbox Code Playgroud)
如果我尝试这样做,我得到一个例外,说明 类型GradeType有多个长度为1的构造函数.无法消除歧义.
我可以在一个构造函数上设置属性[InjectionConstructor]以使其与一个一起工作,但是我不能使用另一个构造函数创建一个具有单元的实例.
是否有一些方法让多个构造函数具有相同数量的参数并仍然使用unity来创建实例?