2010-11-26 15 views
1

Können wir readonly verwenden, um die Eigenschaft zu ändern? Wenn nicht, warum?readonly Modifikator

+8

weil es readonly ist. – RPM1984

+0

@ RPM1984: LOL Sie können 'readonly' nicht verwenden, um eine Eigenschaft zu ändern. Warum? weil es readonly ist, das nicht geändert werden kann. Ich fand Polysemie in Englisch auch sehr witzig, während ich in der Vergangenheit nur Chinesisch finde. –

Antwort

16

Sie brauchen nicht nur für Eigenschaften gelesen werden. Wenn sie nur gelesen werden, deklarieren Sie keinen Setter. Wenn Sie automatische Eigenschaften verwenden, deklarieren Sie den Setter als privat.

4

Um eine schreibgeschützte Eigenschaft zu erstellen, machen Sie den Setter nur privat. Wenn die Eigenschaft auch nur innerhalb der Klasse gelesen werden soll, entfernen Sie den Setter und geben Sie ein schreibgeschütztes Element zurück.

Das Schlüsselwort readonly kann nur auf Felder angewendet werden. Dies ist die einzige Verwendung, die derzeit in der C# -Spezifikation vorgesehen ist.

0

Ist Ihre Frage "können Sie ein schreibgeschütztes Feld ändern", lautet Ihre Antwort JA.

Allerdings haben die vorherigen Antworten angegeben, dass Eigenschaften äquivalent zu Methoden sind, so dass readonly nicht gilt.