Мне нужна помощь в автоматической регистрации дженериков с использованием StructureMap. Вот мой сценарий:
public class Object<T>
{
}
public interface IBehvior<T>
{
void DoSomething(T t);
}
public class Behvior<T> : IBehvior<Object<T>>
{
public void DoSomething(Object<T> t)
{
}
}
То, чего я хочу достичь, это что-то вроде:
var x = ObjectFactory.GetInstance<IBehavior<Object<int>>();
Но когда я запускаю этот оператор, он выдает ошибку, что ни один экземпляр по умолчанию не настроен. В моей конфигурации StructureMap я использовал
ConnectImplementationsToTypesClosing(typeof(IBehavior<>))
Но это все равно не работает!
Обратите внимание, что это работало нормально, если у меня не было объекта. Например, если у меня есть:
public class IntBehavior : IBehavior<int>
{
}
Все отлично работает. Но когда я заменяю int универсальным типом, он не работает!
Есть идеи?