J'ai la classe suivante:« Lecture seule » propriété accesseur en C#
class SampleClass
{
private ArrayList mMyList;
SampleClass()
{
// Initialize mMyList
}
public ArrayList MyList
{
get { return mMyList;}
}
}
Je veux que les utilisateurs soient en mesure d'obtenir mMyList qui est pourquoi j'exposais le « get » via une propriété mais je ne suis pas veulent les changements qu'ils apportent à l'objet (par exemple MyList.Add (new Class());) pour revenir dans ma classe.
Je suppose que je peux retourner une copie de l'objet mais cela peut être lent et je cherche un moyen qui fournira une erreur de compilation informant l'utilisateur qu'ils ne devraient pas s'attendre à pouvoir modifier le valeur renvoyée de la propriété.
Est-ce possible?
question connexe: http://stackoverflow.com/questions/681287/how-to-make-a-reference-type-property-readonly –
Est-ce que 'List: ReadOnlyCollection ' dans .NET 4.5 change cela? http://www.infoq.com/news/2011/10/ReadOnly-WInRT/ –