Instancier une classe...

Signaler
Messages postés
12
Date d'inscription
vendredi 26 mars 2004
Statut
Membre
Dernière intervention
21 août 2008
-
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
-
J'ai ajouté comme référence à mon projet, une dll qui contient des classes.
Quand j'essaye d'instancier une de ces classes pour utiliser les méthodes contenues à l'intérieur j'ai le message suivant:

"MaClasse() is inaccessible due to its protection level"

voici mon code:

MaClasse newclasse=new MaClasse();

Comment faire pour l'utiliser quand même?

5 réponses

Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
44
ta classe est déclarée Public ?
Messages postés
12
Date d'inscription
vendredi 26 mars 2004
Statut
Membre
Dernière intervention
21 août 2008

oui elle est public et dérive d'une autre classe appelé System.Object qui est public également mais qui contient des méthodes qui sont soit static, virtual, override...
y a t il un espoir?
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
44
il faut que ton constructeur soit lui aussi déclaré public. Mais il ne doit pas etre static.

Apres, tout dépend de ta classe. Tu peux instancier une classe, meme si elle contient des methodes statiques (mais tu ne pourras pas appeler ces methodes par tes instances).

Ensuite, je vois pas trop quel pourrait etre le probleme. Normalement ca devrait fonctionner, non ?
Messages postés
12
Date d'inscription
vendredi 26 mars 2004
Statut
Membre
Dernière intervention
21 août 2008

oui il y a un constructeur déclaré public.
entre temps j'ai essayé de dériver une classe "Maclasse" de la classe de la dll "Dllclasse".
Code:

public class Maclasse:Dllclasse()



juste après,le constructeur est également souligné et le message d'erreur apparait.

Je me dis que ceux qui ont construit la dll ne voudraient peut être pas qu'on puisse en profiter...je sais plus
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
44
public class Maclasse:Dllclasse()

il ne faudrait pas enlever les parentheses ?

public class Maclasse:Dllclasse