Dll, arguments & classe utilisateur [Résolu]

Signaler
Messages postés
57
Date d'inscription
vendredi 21 mai 2004
Statut
Membre
Dernière intervention
28 juillet 2006
-
Messages postés
60
Date d'inscription
mardi 26 juillet 2005
Statut
Membre
Dernière intervention
16 avril 2006
-
Bonjour,

Je voudrais passer un argument dérivant d'une classe utilisateur à une méthode d'une dll.

J'ai un programme qui contient une classe MaClass et une dll contenant la même classe. A partir de mon programme j'appelle une méthode de la dll (avec un Invoke de la classe System.Reflection.MethodInfo) et je lui passe un argument de type MaClasse. Evidement cela pose un probleme car il ne sait pas s'il doit considerer les deux classes( en fait la même mais déclarée dans le programme et dans la dll) comme identiques. Il génère une erreur du type suivant: System.ArgumentException: Object of type 'Dolyda.CommandAttributes' cannot be converted to type 'Dolyda.CommandAttributes'.

Ca ne pose aucun probleme pour les types de base mais pour les classes utilisateurs... je ne sais pas comment faire pour que mon programme et ma dll partagent une même classe. Je suis à l'écoute de toutes propositions.

Merci d'avance,
Thomas.

3 réponses

Messages postés
60
Date d'inscription
mardi 26 juillet 2005
Statut
Membre
Dernière intervention
16 avril 2006

Dans ta DLL, tu devrais essayer ceci (ça devrait fonctionner): Enlève ta définition de MaClasse et référence le programme principal avant de compiler. La classe sera donc celle du programme principal et ça devrait fonctionner.

Example (DLL)
public class UneTelle
{
public UneTelle(NameSpaceProgrammePrincipal.MaClasse x){/*...*/ }
}

Example (PP)
public class MaClasse
{
public string UnItem = "";
/*...*/
}

public class MainClass
{
public static void Main(string[] args)
{
/*...*/
}
}


P.S Ce truc fonctionne pour mon système de plugins avec des classes abstraites, donc ç'est probablement la même chose.
Messages postés
57
Date d'inscription
vendredi 21 mai 2004
Statut
Membre
Dernière intervention
28 juillet 2006

Merci mille fois, c'est exactement ca. Merci beaucoup.
Messages postés
60
Date d'inscription
mardi 26 juillet 2005
Statut
Membre
Dernière intervention
16 avril 2006

De rien, c'est mon but
--------------------------------------------------
David L.Pratte, Administrateur
Mykeys Software Foundation
Making dreams into programs / Du rêve au programme
Demandes acceptées gratuitement