Julien237
Messages postés883Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention 3 mars 2009
-
26 nov. 2007 à 15:35
Julien237
Messages postés883Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention 3 mars 2009
-
26 nov. 2007 à 17:25
Bonjour,
J'ai une propriété de ma classe qui est un tableau de float, j'aurais voulu que l'utilisateur puisse toujours avoir accès à ces informations, mais pas les modifier, que les éléments du tableau renvoyés par la propriété soient en lecture seule.
Comment puis-je faire ?
billou_13
Messages postés860Date d'inscriptionjeudi 4 mars 2004StatutMembreDernière intervention19 août 201429 26 nov. 2007 à 16:49
Comme le dit Miltiades, il suffit de jouer avec l'indexer.
Je sais pas si c'est une bonne solution mais tu peux faire une classe collection qui dérive de l'interface collection.
FloatCollection : ICollection<float>
{
private List<float> objCol = new List<float>(); //ou une ArrayList
//Méthodes de l'interface à faire (Add, ...)
//Indexer
public float this[int index]
{
get{ return objCol[index];}
}
}
Billou_13
Bask En Force
--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
Julien237
Messages postés883Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention 3 mars 20097 26 nov. 2007 à 16:18
Non ça je connais quand même
Le problème est qu'avec ça, l'utilisateur peut toujours modifier le éléments de Mapropriete.
En fait ce que je cherche, c'est de rendre les éléments de l'array Mapropriete de ton exemple en lecture seule.
<hr size="2" width="100%" />Julien.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Julien237
Messages postés883Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention 3 mars 20097 26 nov. 2007 à 16:48
Ouaip, un indexeur est une solution, mais alors je dois passer par une classe intermédiaire entre la classe Array et la classe de Mapropriete, afin de mettre un indexeur en lecture seule... Je pense que c'est ce que je vais finir par faire...
Je trouve qu'une surcharge de Array.Create avec la possibilité de lecture seule ou quelque chose du genre aurait été bien plus pratique...
billou_13
Messages postés860Date d'inscriptionjeudi 4 mars 2004StatutMembreDernière intervention19 août 201429 26 nov. 2007 à 16:50
Oups, désolé pour le post en même temps ^^
Bonne journée
(Décidement, c'est pas ma journée ^^)
Billou_13
Bask En Force
--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
cs_blueangel
Messages postés69Date d'inscriptionsamedi 4 janvier 2003StatutMembreDernière intervention19 mars 2009 26 nov. 2007 à 17:21
Ah si t'as pas de probléme à utiliser les listes au lieu des array tu peux faire ça c'est plus simple que les index.
public IListNames
{
get {
return new _names.AsReadonly();
}
}