ich die folgende Klasse:„Nur Lesen“ haben Eigenschaftenaccessor in C#
class SampleClass
{
private ArrayList mMyList;
SampleClass()
{
// Initialize mMyList
}
public ArrayList MyList
{
get { return mMyList;}
}
}
ich Benutzer möchte in der Lage sein mMyList zu bekommen, weshalb ich jedoch die „get“ über eine Eigenschaft ausgesetzt i nicht möchte, dass sie Änderungen am Objekt vornehmen (zB. MyList.Add (new Class());), um wieder in meine Klasse zu gelangen.
Ich denke, ich kann eine Kopie des Objekts zurückgeben, aber das kann langsam sein und ich bin auf der Suche nach einem Weg, der einen Fehler bei der Kompilierung liefert, der den Benutzer informiert, dass er nicht erwarten kann, das zu ändern Rückgabewert von der Eigenschaft.
Ist das möglich?
Verwandte Frage zu stellen: http://stackoverflow.com/questions/681287/how-to-make-a-reference-type-property-readonly –
Hat 'List: ReadOnlyCollection ' in .NET 4.5 irgendwelche davon ändern? http://www.infoq.com/news/2011/10/ReadOnly-WInRT/ –