5

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?

+0

même question ici. une joie? – miguel

+0

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

+4

S'il vous plaît poster votre commentaire comme une réponse et l'accepter comme le bon. – abatishchev

Répondre

0

d'un commentaire de l'OP Sunny D:

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<App1Control> 

à:

public partial class App1Control : UserControl, myInterface<UserControl> 
Questions connexes