Ho la seguente classe:"Sola lettura" Proprietà Accessor in C#
class SampleClass
{
private ArrayList mMyList;
SampleClass()
{
// Initialize mMyList
}
public ArrayList MyList
{
get { return mMyList;}
}
}
voglio che gli utenti siano in grado di ottenere mMyList che è il motivo per cui ho esposto il "get" tramite una proprietà però non lo faccio vuoi che le modifiche apportate all'oggetto (ad es. MyList.Add (new Class());) tornino nella mia classe.
Immagino di poter restituire una copia dell'oggetto ma che potrebbe essere lento e sto cercando un modo che fornisca un errore in fase di compilazione che informa l'utente che non dovrebbero aspettarsi di poter modificare il valore restituito dalla proprietà.
È possibile?
questione connessa: http://stackoverflow.com/questions/681287/how-to-make-a-reference-type-property-readonly –
Does 'Lista: ReadOnlyCollection ' in .NET 4.5 modificare una di queste? http://www.infoq.com/news/2011/10/ReadOnly-WInRT/ –