Ich suche das C # -Äquivalent von Java final
. Existiert es?
Hat C # Folgendes:
public Foo(final int bar);
Im obigen Beispiel bar
handelt es sich um eine schreibgeschützte Variable, die nicht von geändert werden kann Foo()
. Gibt es eine Möglichkeit, dies in C # zu tun?
Zum Beispiel, vielleicht habe ich eine lange Methode , die mit arbeiten werden x
, y
und z
Koordinaten eines Objekts (Ints). Ich möchte absolut sicher sein, dass die Funktion diese Werte in keiner Weise ändert und dadurch die Daten beschädigt. Daher möchte ich sie schreibgeschützt erklären.
public Foo(int x, int y, int z) {
// do stuff
x++; // oops. This corrupts the data. Can this be caught at compile time?
// do more stuff, assuming x is still the original value.
}