Dériver la classe ListBox.ObjectCollection me pose quelques problèmes ...
2 réponses
Boris Sargos
Bonjour à tous,
je tente d'écrire une classe TabListItemCollection , dont la définition est
la suivante :
public class TabListItemCollection : ListBox.ObjectCollection
{
// Surcharge de l'indexeur pour convertir en TabListItem
l'objet retourné
public new TabListItem this [int index] {
get { return (TabListItem)base[index]; }
}
}
où TabListItem est une toute petite classe de données. Le compilateur me
jette en me disant :
"Aucune surcharge pour la méthode 'ObjectCollection' ne prend
d'arguments '0'"
J'ai testé la création de plusieurs constructeurs, avec zéro, un ou deux
arguments? Mais l'erreur est toujours la même ("arguments 0"). Qu'est-ce que
cela signifie ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Ambassadeur Kosh
c'est le constructeur de ObjectCollection qui attend des argument. une ObjectCollection à un cordon ombilical avec son owner. donc, rajouter un constructeur
public class TabListItemCollection : ListBox.ObjectCollection { public TabListItemCollection(ListBox owner) : base(owner) {} }
"Aucune surcharge pour la méthode 'ObjectCollection' ne prend d'arguments '0'"une methode qui porte le nom d'une classe, c'est le constructeur.l'indexeur n'avait donc rien à voir dans tout ça.voila voila
c'est le constructeur de ObjectCollection qui attend des argument.
une ObjectCollection à un cordon ombilical avec son owner.
donc, rajouter un constructeur
public class TabListItemCollection : ListBox.ObjectCollection
{
public TabListItemCollection(ListBox owner) : base(owner)
{}
}
"Aucune surcharge pour la méthode 'ObjectCollection' ne prend d'arguments
'0'"une methode qui porte le nom d'une classe, c'est le
constructeur.l'indexeur n'avait donc rien à voir dans tout ça.voila voila
c'est le constructeur de ObjectCollection qui attend des argument. une ObjectCollection à un cordon ombilical avec son owner. donc, rajouter un constructeur
public class TabListItemCollection : ListBox.ObjectCollection { public TabListItemCollection(ListBox owner) : base(owner) {} }
"Aucune surcharge pour la méthode 'ObjectCollection' ne prend d'arguments '0'"une methode qui porte le nom d'une classe, c'est le constructeur.l'indexeur n'avait donc rien à voir dans tout ça.voila voila
Boris Sargos
Salut Ambassadeur Kosh.
Tu avais raison. En fait, je surchargeais le constructeur, car je ne pensais pas que la syntaxe pour déclarer un constructeur d'une classe dérivée est la même qu'en C++ :
ClasseDérivée ClasseDérivée(listparams) : public ClasseDeBase(listparams) {}
Merci.
Salut Ambassadeur Kosh.
Tu avais raison. En fait, je surchargeais le constructeur, car je ne pensais
pas que la syntaxe pour déclarer un constructeur d'une classe dérivée est la
même qu'en C++ :
ClasseDérivée ClasseDérivée(listparams) : public
ClasseDeBase(listparams) {}
Tu avais raison. En fait, je surchargeais le constructeur, car je ne pensais pas que la syntaxe pour déclarer un constructeur d'une classe dérivée est la même qu'en C++ :
ClasseDérivée ClasseDérivée(listparams) : public ClasseDeBase(listparams) {}