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