2010-10-21 15 views
6

Estoy trabajando en un proyecto donde se carga un nombre de campo de XML y el campo con ese nombre se devuelve y se agrega al objeto actual. El problema es que FieldInfo.GetValue parece devolver el valor actual del campo, no una referencia. ¿Hay alguna forma de evitar esto?Obtener referencia a la variable de FieldInfo

Respuesta

7

Desafortunadamente no lo hay. El diseño de FieldInfo.GetValue es proporcionar el valor y no una referencia. No hay otro método adecuado en FieldInfo para proporcionar una referencia tampoco.

Una razón por la cual hacerlo sería simplemente inseguro. Imagen del escenario donde el objeto es un struct en la pila. Si un FieldInfo pudiera proporcionar una referencia a un campo de ese struct entonces estaría suministrando una referencia a una pieza de la pila que podría desaparecer en cualquier momento. Leer o escribir esa referencia después de que la pila se fue sería incorrecto y una violación de seguridad de tipo.

+0

Ah, está bien. ¡Gracias por la ayuda! – lushr

+0

Eso apesta. Quiero ser capaz de hacer eso. Debe haber alguna forma. –

Cuestiones relacionadas