Что такое замена Unity 2 для <typeConfig />? - PullRequest
1 голос
/ 28 марта 2012

Как указано в заголовке: что (если доступно) является заменой элемента <typeConfig /> в Unity 2?

Или альтернативно: Как настроить параметр типа для класса в конфигурации Unity?

<alias alias="ISomeInterface" type="Namespace.ISomeInterface" />
<alias alias="SomeType" type="Namespace.SomeType`1" />
<alias alias="Foo" type="Namespace.Foo" />
<alias alias="Bar" type="Namespace.Bar" />

<container>
    <register type="ISomeInterface" mapTo="SomeType" name="GenericFoo">
        <!-- define generic type as Foo -->
    </register>
    <register type="ISomeInterface" mapTo="SomeType" name="GenericBar">
        <!-- define generic type as Bar -->
    </register>
</container>

1 Ответ

2 голосов
/ 29 марта 2012

Элемент был просто удален - это был слой XML, который фактически не добавлял ничего, кроме шума в файл конфигурации.Материал, который вы ранее вложили в typeConfig (например, ,

и т. Д.), Теперь помещается как дочерний элемент элемента .

Что касается вашего примера, вам необходимоукажите параметр универсального типа как часть параметра mapTo, например так:

<register type="ISomeInterface" mapTo="SomeType[Foo]" name="GenericFoo" />
<register type="ISomeInterface" mapTo="SomeType[Bar]" name="GenericBar" />

Или вы можете использовать синтаксис универсального типа CLR (версия с `1 и т. д.), но это намного шумнее, чемсокращенный синтаксис, который реализует Unity.

ПРИМЕЧАНИЕ. Конечно, указанные выше псевдонимы не будут работать, поскольку вы не включили в них имена сборок, поэтому это решение не будет работать, пока вы не разберетесьэти детали.Кроме того, рассмотрите возможность использования объявлений и в файле конфигурации, чтобы устранить необходимость в большом количестве псевдонимов.

...