OpCodes.Initobj 欄位

定義

將位於指定位址之值類型的各個欄位,初始化為適當之基本類型的 null 參考或 0。

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 

欄位值

備註

下表列出指令的十六進位和 Microsoft 中繼語言 (MSIL) 元件格式,以及簡短的參考摘要:

格式 元件格式 Description
FE 15 <T> initobj typeTok 初始化實值型別。

堆疊轉換行為依循序順序為:

  1. 要初始化之實值型別的位址會推送至堆疊。

  2. 位址會從堆疊中彈出;指定位址上的實值型別會初始化為 型別 typeTok

指令initobj會將 、) 、 或 * 類型 (native int&所指定之實值型別的每個欄位初始化為 null 參考或適當基本型別的 0。 呼叫這個方法之後,實例便已準備好呼叫建構函式方法。 如果 typeTok 是參考型別,則此指令的效果 ldnull 與 後面跟 stind.ref著 相同。

不同於 Newobjinitobj 不會呼叫建構函式方法。 Initobj 用於初始化實值型別,而 newobj 用於配置和初始化物件。

下列 Emit 方法多載可以使用 initobj opcode:

適用於