У меня следующий интерфейс
public interface IBuilder<T>
{
T Create(string param);
}
со многими классами, которые реализуют интерфейс выше.Один из них:
public class ConcreteABuilder : IBuilder<ConcreteA>
{
public ConcreteA Create(string param)
{
return new ConcreteA();
}
}
Я использую StructureMap для регистрации всех классов, которые реализуют IBuilder<>
Scan(x =>
{
x.TheCallingAssembly();
x.AddAllTypesOf(typeof(IBuilder<>));
});
Теперь у меня 2 случая
РЕДАКТИРОВАНИЕ
Я получаю типы (в обоих случаях) в виде System.Type
Дело 1
Во время выполнения я получаю любой T тип ( System.Type ) (например, typeof (ConcreteA) ), и мне нужно получить соответствующий экземпляр компоновщика,В этом случае он должен вернуть ConcreteABuilder экземпляр.
Случай 2
Во время выполнения я получаю тип ( System.Type ) некоторых реализованных IBuilder (например, typeof (ConcreteABuilder) ), и мне нужно получить соответствующий экземпляр компоновщика.В этом случае он должен вернуть ConcreteABuilder экземпляр.
Как использовать ObjectFactory StructureMap для решения Case1 & Case2?
Спасибо