Как я могу динамически зарегистрировать универсальные классы с именем в Unity?
У меня есть сборка с большим количеством классов (300+) с BaseClass, и я хочу зарегистрировать универсальный класс с интерфейсом.
С единством вы должны зарегистрироваться по {название} если вы хотите разрешить массив объектов интерфейса. Я хочу массив объектов вMainViewModel автоматически.
Есть ли способ автоматизировать это с помощью отражения? Какие-либо предложения?
Пример (псевдо):
public class BaseClass
{
public void doFoo();
}
public ClassNumber001 : BaseClass
{
}
public ClassNumber002 : BaseClass
{
}
public interface ISuperman
{
}
public class Superman : ISuperman where T : BaseClass
{
}
public MainViewModel(IEnumerable<ISuperman> lotsofSuperman)
{
}
Рабочий пример от руки:
container.RegisterType<ISuperman, Superman <ClassNumber001>>("ClassNumber001");
container.RegisterType<ISuperman, Superman <ClassNumber002>>("ClassNumber002");
container.RegisterType<IEnumerable<ISuperman>, ISuperman[]>();