Я шукаю еквівалент C # Java final
. Чи існує?
Чи є у C # щось подібне:
public Foo(final int bar);
У наведеному вище прикладі bar
є змінною лише для читання і не може бути змінена Foo()
. Чи є спосіб зробити це в C #?
Наприклад, може бути , у мене є довгий метод , який буде працювати з x
, y
і z
координати деяких об'єктів (Інтс). Я хочу бути абсолютно впевненим, що функція жодним чином не змінює ці значення, тим самим пошкоджуючи дані. Таким чином, я хотів би оголосити їх лише для читання.
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.
}