OpCodes.Initobj Champ

Définition

Initialise chaque champ du type valeur à une adresse spécifiée à une référence Null ou un 0 du type primitif approprié.

public: static initonly System::Reflection::Emit::OpCode Initobj;
public static readonly System.Reflection.Emit.OpCode Initobj;
 staticval mutable Initobj : System.Reflection.Emit.OpCode
Public Shared ReadOnly Initobj As OpCode 

Valeur de champ

Remarques

Le tableau suivant répertorie le format d'assembly MSIL (Hexadécimal et Microsoft Intermediate Language) de l'instruction, ainsi qu'un bref résumé de référence :

Format Format d’assembly Description
FE 15 <T> initobj typeTok Initialise un type valeur.

Le comportement transitionnel de la pile, dans l’ordre séquentiel, est :

  1. L’adresse du type valeur à initialiser est envoyée (push) à la pile.

  2. L’adresse est extraite de la pile ; le type de valeur à l’adresse spécifiée est initialisé en tant que type typeTok.

L’instruction initobj initialise chaque champ du type valeur spécifié par l’adresse push (de type native int, &ou *) vers une référence Null ou un 0 du type primitif approprié. Une fois cette méthode appelée, l’instance est prête pour qu’une méthode de constructeur soit appelée. S’il typeTok s’agit d’un type référence, cette instruction a le même effet que ldnull celui suivi par stind.ref.

Contrairement Newobjà , initobj n’appelle pas la méthode constructeur. Initobj est destiné à l’initialisation des types valeur, tandis qu’il newobj est utilisé pour allouer et initialiser des objets.

La surcharge de méthode suivante Emit peut utiliser l’opcode initobj :

S’applique à