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: