Я ищу 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.
}