У меня есть структура:
struct S {
public readonly int Value1;
public readonly int Value2;
public S(int value1, int value2) {
this.Value1 = value1;
this.Value2 = value2;
}
}
и я пытаюсь взять адрес Value2:
var s = default(S);
unsafe {
var r = new IntPtr(&s.Value2);
}
но я получаю ошибку компилятора:
Cannot take the address of the given expression
Я думал, что смогу взять адреса полей? Что происходит?
readonly
- это немного неправильный ответ, который, кажется, говорит о том, что результат является копией, а не только для чтения. - person Craig Gidney   schedule 08.07.2013