Ma définition d'interface est: public interface IInterface où T: UserControlUtilisation des génériques dans l'unité ... InvalidCastException
Ma définition de la classe est: public partial class App1Control: UserControl, IInterface
La section d'unité de mon app.config regarde comme ci-dessous:
<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>
l'application fonctionne très bien mais, le code suivant donne un InvalidCastException
container.Resolve<IInterface<UserControl>>("Application 1");
Le message d'erreur est:
Impossible de coulée objet de type 'MyApplication.App1Control' de type 'MyApplication.IInterface`1 [System.Windows.Forms.UserControl]'
Je crois qu'il y a une erreur mineure dans mon code ... mais je ne suis pas capable de comprendre quoi. Des pensées?
même question ici. une joie? – miguel
Salut Miguel, Il y avait une erreur dans la définition de mon App1Control. Le problème a été résolu quand j'ai changé la définition de public partial class App1Control: UserControl, MyInterface ..... à ...... public partial class App1Control: UserControl, MyInterface –
S'il vous plaît poster votre commentaire comme une réponse et l'accepter comme le bon. – abatishchev