007seb a écrit :
Merci _Mose_ pour ton intervention... j'ai toujours l'impression d'être le seul à qui on ne répond pas
|
Lol, bah forcément : VB + .Net 2 c'est pas le plus courant (pour l'instant ?)
007seb a écrit :
Ta dernière phrase m'intéresse, j'avoue ne pas m'être posé trop longtemps la question quand j'ai vu que les Generic.List servaient à stocker des variables qui ont toutes le même type (à l'inverse des arraylists si je ne m'abuse).
|
Oui et non. Disons qu'une ArrayList stocke des variables qui ont toutes le même type : Object.
Après... faut faire du cast.
007seb a écrit :
Il s'agissait pour moi de pouvoir modifier la propriété par défaut "Item" afin d'entrer un index sous forme d'une Chaine et non d'un Integer, indice de la List.
|
Je ne comprend pas très bien les tenants et les aboutissants de ton code, mais dans une Hashtable, tu peux te servir de n'importe quel objet comme indice pour stocker une donnée. Donc pourquoi pas une chaine de caractère :
Code :
- MyClass myobject = new ...
- // ajouter une valeur
- myhashtable.Add("un", myobject); // équivalent à myhashtable["un"] = myobject;
- // lire une valeur
- if(myhashtable.Contains("un" ))
- myobject = (MyClass)myhashtable["un"];
|
Après, si tu veux éviter de faire un cast à chaque fois que tu vas lire ta valeur, tu peux implémenter ta propre Hashtable et surcharger l'opérateur public object this[object key] comme ceci : public new MyClass this[object key].
L'opérateur new te permettant de changer la signature de la propriété pour qu'elle retourne un 'MyClass' au lieu d'un 'Object'.