Szukam odpowiednika języka Java w C # final
. Czy to istnieje?
Czy C # ma coś podobnego do następującego:
public Foo(final int bar);
W powyższym przykładzie bar
jest zmienną tylko do odczytu i nie można jej zmienić Foo()
. Czy jest jakiś sposób, aby to zrobić w C #?
Na przykład, może mam długą metodę, która będzie pracować z x
, y
i z
współrzędne jakiegoś przedmiotu (int). Chcę mieć absolutną pewność, że funkcja w żaden sposób nie zmienia tych wartości, uszkadzając w ten sposób dane. Dlatego chciałbym zadeklarować je tylko do odczytu.
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.
}