OpCodes.Initobj Pole
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Inicjuje każde pole typu wartości pod określonym adresem do odwołania o wartości null lub 0 odpowiedniego typu pierwotnego.
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
Wartość pola
Uwagi
W poniższej tabeli wymieniono format zestawu szesnastkowy i microsoft intermediate language (MSIL) instrukcji wraz z krótkim podsumowaniem referencyjnym:
Format | Format zestawu | Opis |
---|---|---|
FE 15 <T > |
initobj
typeTok
|
Inicjuje typ wartości. |
Zachowanie przejściowe stosu w kolejności sekwencyjnej jest następujące:
Adres typu wartości do zainicjowania jest wypychany do stosu.
Adres jest zwinięty ze stosu; typ wartości pod określonym adresem jest inicjowany jako typ
typeTok
.
Instrukcja initobj
inicjuje każde pole typu wartości określonego przez wypchnięty adres (typu native int
, &
lub *
) do odwołania o wartości null lub 0 odpowiedniego typu pierwotnego. Po wywołaniu tej metody wystąpienie jest gotowe do wywołania metody konstruktora. Jeśli typeTok
jest typem odwołania, ta instrukcja ma taki sam efekt jak ldnull
następnie stind.ref
.
W przeciwieństwie do Newobj, initobj
nie wywołuje metody konstruktora.
Initobj
jest przeznaczony do inicjowania typów wartości, podczas gdy newobj
służy do przydzielania i inicjowania obiektów.
Następujące przeciążenie metody Emit może używać initobj
opcode: