TeBeCo
Messages postés467Date d'inscriptionlundi 24 juin 2002StatutMembreDernière intervention 9 mars 2011
-
19 août 2007 à 23:16
kowalska
Messages postés33Date d'inscriptionsamedi 15 octobre 2005StatutMembreDernière intervention 4 janvier 2012
-
4 août 2008 à 09:00
suite à une charmante tentative d'hérité de la classe System.Drawing.Image je me retrouve confronter à un super problème :
Aucun constructeur n'est défini pour le type 'System.Drawing.Image'
Sachant que la classe Bitmap herite de image j'en conclus que c'est quelquechose de faisable
Première chose : je ne veux pas herité de la classe Bitmap pour plusieur raison la première étant que celle ci est "sealed" donc pas héritable :p la suivante étant que je veux une classe avec laquelle on puisse faire <graphics>.DrawImage(<maclasse>);
donc la seule possibilité est de "réussir" à hériter de system.drawing.image
Deuxième chose : Aucun membres de cette classe n'est declarer avec abstract donc aucun override possible sur ceux ci a la declaration (car il y en a pas)
Troisième chose : ceux qui pourraient avoir l'opportunité de répondre pourraint ils essayer de leur coté avant car j'ai tester un tres grand nombre de possibilité parmis lesquelles :
*declarer une classe vide
*avec jsute un constructeur
*avec jsute un constructeur appellant le constructeur de la classe mere
*en declarant absolument tous les membre de Image comme un bourrin histoire de voir si un pb venais pas de la
* et plein d'autre ...
l'erreur indique que pour je ne sais quelle raison le compilateur tente d'instancier la classe mere alors qu'il n'y a pas de constructeur disons de "porté suffisante"
que dire de plus, je suis a cour d'idée j'ai deja cherché avec pas mal de monde sur le chan de CS sur irc on a pas encore reussi a en venir a bout alors je me dit que peut etre qqun ici dira "bas oui c'est tout simple suffit de faire ca :"
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 20 août 2007 à 06:38
Salut,
"Sachant que la classe Bitmap herite de image j'en conclus que c'est quelquechose de faisable .."
La classe Image possède 3 constructeurs déclarés internal, c-a-d que tu ne peux dériver de cette classe uniquement dans l'assembly System.Drawing.dll ce qui est le cas de la classe Bitmap.
Les assemblys friends existent en C#, mais ça ne marchera pas dans ce sens là.. Avec la reflexion ont peut utiliser des membres private ou internal mais ça ne correspond pas non plus à ce que tu veux faire.. je ne vois pas.
TeBeCo
Messages postés467Date d'inscriptionlundi 24 juin 2002StatutMembreDernière intervention 9 mars 2011 20 août 2007 à 18:07
j'ai essayé de répondre à la pause midi mais pour une raison que je ne connais tjs pas 90% de mes message ici passe pas :s
donc je disais a peu pres :
Je pensais que c'etait un constructeur privé a partir de la je comprenais pourquoi ca ne marchais pas alors qu'avec Bitmap ca marche, mais le coup du internal me parait tellement evident maintenant que tu le dit :p
pour ce qui est de ce que je vais faire j'ai deja une idée de comment "contourner" l'heritage même si je trouve ca limite archi pourrave d'empecher un heritage d'une classe de base comme celle la ...
merci pour tout
TeBeCo
Messages postés467Date d'inscriptionlundi 24 juin 2002StatutMembreDernière intervention 9 mars 2011 20 août 2007 à 18:08
a si j'ai oublié un truc a te demander tu a pensé par deduction que le constructeur était privé ou tu l'a trouvé quelque part car j'ai chercher hier et j'ai aps été fichu de trouver :s