Можно ли сделать так, чтобы в union использовались все определенные конструкторы, начиная с одного с наибольшим количеством аргументов, вплоть до наименее определенного (конструктор по умолчанию)?
Редактировать
Что я имею в виду:
foreach (var constructor in concrete.GetConstructorsOrderByParameterCount())
{
if(CanFulfilDependencies(constructor))
{
UseConstructor(constructor);
break;
}
}
Я не хочу, чтобы Unity использовала только конструктор с большинством параметров.Я хочу, чтобы он продолжал попытки, пока не найдет подходящий конструктор.Если Unity не обеспечивает такое поведение по умолчанию, возможно ли создать расширение или что-то еще, чтобы это можно было сделать?
Изменить 2
Я получилкласс с двумя конструкторами:
public class MyConcrete : ISomeInterface
{
public MyConcrete (IDepend1 dep, IDepend2 dep2)
{}
public MyConcrete(IDepend1 dep)
{}
}
Класс существует в библиотеке, которая используется несколькими проектами.В этом проекте я хочу использовать второй конструктор.Но Unity останавливается, так как он не может выполнить зависимости первого конструктора.И я не хочу изменить класс, так как первый конструктор используется DI в других проектах.
Следовательно, Unity должна попытаться разрешить все конструкторы.