Получить ссылку на переменную из FieldInfo - PullRequest
7 голосов
/ 21 октября 2010

Я работаю над проектом, в котором загружается имя поля из XML, а поле с этим именем возвращается и добавляется к текущему объекту.Проблема в том, что FieldInfo.GetValue возвращает текущее значение поля, а не ссылку.Есть ли способ обойти это?

1 Ответ

8 голосов
/ 21 октября 2010

Нет, к сожалению, нет. Дизайн FieldInfo.GetValue предназначен для предоставления значения, а не ссылки. На FieldInfo нет другого подходящего метода для предоставления ссылки.

Одна из причин, почему это было бы просто небезопасно. Представьте себе сценарий, в котором объект находится в стеке struct. Если FieldInfo может предоставить ссылку на поле этого struct, то он будет предоставлять ссылку на часть стека, которая может исчезнуть в любой момент. Чтение или запись этой ссылки после удаления стека будет некорректным и нарушением безопасности типов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...