Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Dériver la classe ListBox.ObjectCollection me pose quelques problèmes ...

2 réponses
Avatar
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 ?

Merci beaucoup pour votre aide.

2 réponses

Avatar
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
Avatar
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.