scoubidou944
Messages postés714Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention19 janvier 2017
-
18 juil. 2008 à 18:02
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 2013
-
22 juil. 2008 à 14:42
bonjour,
après des mois sans avoir touche un compilo, la reprise est carrément difficile :(
peut-être ai-je trop écris de C++ que je n'arrive plus à en écrire en C# ?
Question n°1 :
Quand on passe un paramètre dans une fonction, (lorsqu'on passait une const ref& en C++) pour spécifier qu'il s'agit d'une variable en read only uniquement, comment on fait ?
Question n°2:
Si on a un membre de type List<Truc>
Le code :
public List<Truc> TrucList
{
get { return m_TrucList; }
}
Retourne en gros un pointeur sur la liste et il suffit de faire .Clear() pour la vider.
Et si on veut juste la donner en lecteur seule cette liste ?
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 19 juil. 2008 à 13:15
Salut,
Pour la première question : cette fonctionnalité n'existe pas en C#, je ne sais même pas si c'est faisable en IL (à vérifier).
La solution est donc de passer par un wrapper "ReadOnly" (ce que décrit Mx dans sa réponse à la question 2 en est un exemple) ou s'orienter vers le travail avec des types immuables (comme l'est String dans le Framework .NET).
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 20 juil. 2008 à 23:35
Bon, on peut toujours passer par un clone (méthode Clone ou ICloneable) mais niveau performance c'est vraiment pas le pied... Cette fonctionnalité qu'on retrouve en C++ pourrait être soumise à la team C#, quoique j'imagine bien que ça a déjà dû être fait et débattu...
scoubidou944
Messages postés714Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention19 janvier 2017 22 juil. 2008 à 14:04
et on la contacte où la team C# ?
(Ne serait-ce que savoir pourquoi cela n'a pas été implémenté car je pense bien ne pas être le seul à regretter cette "légèreté"