C# Sharpedevelop problème de création et d'utilisation de DLL

claire1899 Messages postés 2 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 6 juin 2012 - 31 août 2011 à 16:31
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 - 1 sept. 2011 à 14:08
Bonjour,

Dans le cadre d'un projet j'ai concu un projet(Windows Application) en C# (SharpDevelop 4.0)
qui contient donc un mainform et plusieurs modules(classes).

J'aimerais le "convertir" en dll.
J'ai vu qu'il fallait changer la sortie dans le menu projet -> option du projet, et j'obtiens bien une dll dans debug.

Malheureusement je n'arrive pas à l'utiliser dans un autre projet.

Je l'ajoute au référence, j'arrive à afficher le mainform de ma dll, mais je n'arrive pas
à accéder au méthodes situées dans mes classes.

Pourriez vous m'aidez à comprendre l'utilisation d'une dll "contenant" des classes svp ?
Ou encore, m'expliquer la "conversion" de mon projet en dll si ce que je fais, pour le moment, est inexacte?

Merci d'avance

Ps: en espérant que j'ai éé claire.

1 réponse

krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 50
1 sept. 2011 à 14:08
Salut

Je pense que ton problème vient des spécificateurs d'accès (public, internal protected, internal, protected, private)

Rappel :
public : On y a accès de partout
internal protected : On y a accès comme si c'était internal ou comme si c'était protected
internal : Accessible depuis l'assembly (le même .exe ou la même .dll)
protected : Accessible depuis la classe en question et toutes ses classes filles
private : Accessible uniquement depuis la classe courante.

Par défaut, les classes et structures sont internal, et les membres d'une classe sont protected.

Donc si tu n'as pas précisé que ta classe est public, elle ne sera pas visible. Même chose pour les membres de ta classe.

N'oublie pas qu'il faut y accéder avec le bon espace de nom.

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
0