Автоматическая регистрация сложных универсальных типов в StructureMap - PullRequest
0 голосов
/ 08 июля 2011

Мне нужна помощь в автоматической регистрации дженериков с использованием 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 универсальным типом, он не работает!

Есть идеи?

1 Ответ

0 голосов
/ 08 июля 2011
...