OpCodes.Initobj Champ
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Initialise tous les champs du type de valeur figurant à l'adresse spécifiée en utilisant la référence null ou la valeur 0 du type primitif qui convient.
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 et hexadécimal de l’instruction, ainsi qu’un bref résumé des références :
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 le suivant :
L’adresse du type de valeur à initialiser est envoyée dans la pile.
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 envoyée (de type native int
, &
ou *
) à une référence Null ou à un 0 du type primitif approprié. Une fois cette méthode appelée, le instance est prêt pour qu’une méthode de constructeur soit appelée. Si typeTok
est un type référence, cette instruction a le même effet que ldnull
suivi de stind.ref
.
Contrairement à Newobj, initobj
n’appelle pas la méthode du constructeur. Initobj
est destiné à l’initialisation des types valeur, tandis que newobj
est utilisé pour allouer et initialiser des objets.
La surcharge de méthode suivante Emit peut utiliser l’opcode initobj
:
S’applique à
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour