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 barjest 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, yi zwspół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.
}