Замок Виндзор: зарегистрируйте открытые дженерики и более сложные типы с - PullRequest
3 голосов
/ 31 мая 2011

Возможно ли с помощью Castle Windsor зарегистрировать открытые генерики, где универсальный параметр является интерфейсом.

т.е. я хочу иметь возможность разрешить IFruitFactory<IApple> и получить FruitFactory<Apple>?Я хотел бы сделать это для любого класса, который реализует IFruit и имеет интерфейс с именем = I (FruitName)

в этом случае Apple : IApple и IApple : IFruit

Ответы [ 2 ]

1 голос
/ 31 мая 2011

Взгляните на ILazyComponentLoader с .

0 голосов
/ 31 мая 2011

Я не думаю, что это возможно.

Может быть, вы можете определить

IWindsorInstaller<T>

как-то специально для IFruitFactory ?

Но тогда вам придется явно создать его экземпляр для всех Т, которые вы собираетесь использовать. Я не думаю, что вы можете сделать его полностью универсальным и позволить контейнеру разобраться во всем.

...