Мое определение интерфейса: публичный интерфейс IInterface, где T: UserControl
Мое определение класса: публичный частичный класс App1Control: UserControl, IInterface
Раздел Unity моего app.config выглядитниже:
<unity>
<typeAliases>
<typeAlias alias="singleton" type="Microsoft.Practices.Unity.ContainerControlledLifetimeManager, Microsoft.Practices.Unity" />
<typeAlias alias="myInterface" type="MyApplication.IInterface`1, MyApplication" />
<typeAlias alias="App1" type="MyApplication.App1Control, MyApplication" />
</typeAliases>
<containers>
<container>
<types>
<type type="myInterface" mapTo="App1" name="Application 1">
<lifetime type="singleton"/>
</type>
</types>
</container>
</containers>
</unity>
Приложение работает нормально, но следующий код выдает InvalidCastException
container.Resolve<IInterface<UserControl>>("Application 1");
Сообщение об ошибке:
Невозможно привести объекттипа 'MyApplication.App1Control' для ввода 'MyApplication.IInterface`1 [System.Windows.Forms.UserControl]'
Я считаю, что в моем коде есть небольшая ошибка ... но это не такв состоянии выяснить что.Есть мысли?