OpCodes.Ldfld Campo
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Encuentra el valor de un campo en el objeto cuya referencia se encuentra actualmente en la pila de evaluación.
public: static initonly System::Reflection::Emit::OpCode Ldfld;
public static readonly System.Reflection.Emit.OpCode Ldfld;
staticval mutable Ldfld : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldfld As OpCode
Valor de campo
Comentarios
En la tabla siguiente se muestra el formato de ensamblado hexadecimal y del lenguaje intermedio de Microsoft (MSIL), junto con un breve resumen de referencia:
Formato | Formato de ensamblado | Descripción |
---|---|---|
7B <T > |
ldfld field |
Inserta el valor de un campo en un objeto especificado en la pila. |
El comportamiento transitorio de la pila, en orden secuencial, es:
Una referencia de objeto (o puntero) se inserta en la pila.
La referencia de objeto (o puntero) se extrae de la pila; se encuentra el valor del campo especificado en el objeto .
El valor almacenado en el campo se inserta en la pila.
La ldfld
instrucción inserta el valor de un campo ubicado en un objeto en la pila. El objeto debe estar en la pila como una referencia de objeto (tipo O
), un puntero administrado (tipo &
), un puntero no administrado (tipo native int
), un puntero transitorio (tipo *
) o una instancia de un tipo de valor. El uso de un puntero no administrado no se permite en el código verificable. El campo del objeto se especifica mediante un token de metadatos que debe hacer referencia a un miembro de campo. El tipo de valor devuelto es el mismo que el asociado al campo. El campo puede ser un campo de instancia (en cuyo caso el objeto no debe ser una referencia nula) o un campo estático.
La ldfld
instrucción puede ir precedida de o de los Unaligned prefijos y Volatile .
NullReferenceException se produce si el objeto es null y el campo no es estático.
MissingFieldException se produce si el campo especificado no se encuentra en los metadatos. Normalmente, esto se comprueba cuando las instrucciones del lenguaje intermedio de Microsoft (MSIL) se convierten en código nativo, no en tiempo de ejecución.
La sobrecarga del método siguiente Emit puede usar el ldfld
código de operación: