OpCodes.Ldfld Campo

Definición

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:

  1. Una referencia de objeto (o puntero) se inserta en la pila.

  2. La referencia de objeto (o puntero) se extrae de la pila; se encuentra el valor del campo especificado en el objeto .

  3. 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:

Se aplica a