J'essaye d'implémenter une classe C++/CLI qui implémente à la fois IList
et IList<T>
.C++/CLI: Implémentation IList et IList <T> (implémentation explicite d'un indexeur par défaut)
Comme ils ont des noms qui se chevauchent, je dois implémenter l'un d'entre eux explicitement, et le choix naturel devrait être IList.
La mise en œuvre implicite de l'indexeur est:
using namespace System::Collections::Generic;
generic<class InnerT> public ref class MyList : public System::Collections::IList, IList<InnerT> {
// ...
property InnerT default[int]{
virtual InnerT get(int index);
virtual void set(int index, InnerT item);
}
}
J'essaie maintenant de déclarer l'indexeur par défaut pour IList.
Je dirais quelque chose comme ceci:
property Object^ System::Collections::IList::default[int]{
virtual Object^ System::Collections::IList::get(int index);
virtual void System::Collections::IList::set(int index, Object^ item);
}
mais me donne
erreur C2061: erreur de syntaxe: 'default' identifiant
Tous les conseils?
S'il vous plaît changer "implémente IList et IList." à "implémente IList et IList". –
Merci! Il semble que markdown supprimait le. –