Я хотел бы создать экземпляр класса, используя единство, где у класса есть два конструктора с одинаковым количеством параметров.
Вот создание экземпляра:
_unityContainer.Resolve<IGradeType>(new ParameterOverride("gradeTypeStringFromXmlFile", gradeTypeStringFromXmlFile));
И вот конструкторы:
public GradeType(string gradeTypeStringFromXmlFile)
{
_gradeTypeStringFromXmlFile = gradeTypeStringFromXmlFile;
}
public GradeType(Enum.GradeType gradeType)
{
_gradeType = gradeType;
}
Если я попытаюсь сделать это, я получу исключение: Тип GradeType имеет несколько конструкторов длины 1. Невозможно устранить неоднозначность .
Я могу установите атрибут [InjectionConstructor] для одного конструктора, чтобы он работал с одним, но тогда я не могу создать экземпляр с единством, используя другой конструктор.
Это какой-то способ иметь несколько конструкторов с равным количеством параметров и все же использовать единство для создания экземпляров?