共用方式為


ILGenerator 類別

定義

產生Microsoft中繼語言 (MSIL) 指示。

public ref class ILGenerator
public ref class ILGenerator abstract
public ref class ILGenerator : System::Runtime::InteropServices::_ILGenerator
public class ILGenerator
public abstract class ILGenerator
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
public class ILGenerator : System.Runtime.InteropServices._ILGenerator
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Runtime.InteropServices.ComVisible(true)]
public class ILGenerator : System.Runtime.InteropServices._ILGenerator
type ILGenerator = class
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
type ILGenerator = class
    interface _ILGenerator
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ILGenerator = class
    interface _ILGenerator
Public Class ILGenerator
Public MustInherit Class ILGenerator
Public Class ILGenerator
Implements _ILGenerator
繼承
ILGenerator
屬性
實作

備註

ILGenerator 可用來為動態元件中的方法和建構函式產生方法主體(以 MethodBuilderConstructorBuilder 類別表示),以及獨立動態方法(由 DynamicMethod 類別表示)。 若要取得 ILGenerator,請使用 ConstructorBuilder.GetILGeneratorDynamicMethod.GetILGeneratorMethodBuilder.GetILGenerator 方法。

MSIL 會做為 Just-In-Time 編譯程式 (JIT) 的輸入。

建構函式

ILGenerator()

初始化 ILGenerator 類別的新實例。

屬性

ILOffset

取得 ILGenerator所發出之Microsoft中繼語言 (MSIL) 數據流中的目前位移,以位元組為單位。

方法

BeginCatchBlock(Type)

開始 catch 區塊。

BeginExceptFilterBlock()

開始篩選例外狀況的例外狀況區塊。

BeginExceptionBlock()

開始非篩選例外狀況的例外狀況區塊。

BeginFaultBlock()

開始Microsoft中繼語言 (MSIL) 數據流中的例外狀況錯誤區塊。

BeginFinallyBlock()

開始Microsoft中繼語言 (MSIL) 指令數據流中的 finally 區塊。

BeginScope()

開始語彙範圍。

CreateLabel(Int32)

使用指定的標識碼建立 Label

DeclareLocal(Type)

宣告指定型別的局部變數。

DeclareLocal(Type, Boolean)

宣告指定型別的局部變數,選擇性地釘選變數所參考的物件。

DefineLabel()

宣告新的標籤。

Emit(OpCode)

將指定的指令放入指令資料流中。

Emit(OpCode, Byte)

將指定的指令和字元自變數放入指令Microsoft中繼語言 (MSIL) 數據流。

Emit(OpCode, ConstructorInfo)

將指定之建構函式的指定指令和元數據令牌放入指令的Microsoft中繼語言 (MSIL) 數據流。

Emit(OpCode, Double)

將指定的指令和數值自變數放入指令Microsoft中繼語言 (MSIL) 數據流。

Emit(OpCode, FieldInfo)

將指定欄位的指定指令和元數據標記放入指令的Microsoft中繼語言 (MSIL) 資料流。

Emit(OpCode, Int16)

將指定的指令和數值自變數放入指令Microsoft中繼語言 (MSIL) 數據流。

Emit(OpCode, Int32)

將指定的指令和數值自變數放入指令Microsoft中繼語言 (MSIL) 數據流。

Emit(OpCode, Int64)

將指定的指令和數值自變數放入指令Microsoft中繼語言 (MSIL) 數據流。

Emit(OpCode, Label)

將指定的指令放入Microsoft中繼語言 (MSIL) 數據流,並在修正完成時留下空格以包含標籤。

Emit(OpCode, Label[])

將指定的指令放入Microsoft中繼語言 (MSIL) 數據流,並在修正完成時留下空格以包含標籤。

Emit(OpCode, LocalBuilder)

將指定的指令放入Microsoft中繼語言 (MSIL) 數據流,後面接著指定局部變數的索引。

Emit(OpCode, MethodInfo)

將指定的指令放入Microsoft中繼語言 (MSIL) 數據流,後面接著指定方法的元數據令牌。

Emit(OpCode, SByte)

將指定的指令和字元自變數放入指令Microsoft中繼語言 (MSIL) 數據流。

Emit(OpCode, SignatureHelper)

將指定的指令和簽章令牌放入指令Microsoft中繼語言 (MSIL) 數據流。

Emit(OpCode, Single)

將指定的指令和數值自變數放入指令Microsoft中繼語言 (MSIL) 數據流。

Emit(OpCode, String)

將指定的指令放入Microsoft中繼語言 (MSIL) 數據流,後面接著指定字串的元數據標記。

Emit(OpCode, Type)

將指定的指令放入Microsoft中繼語言 (MSIL) 數據流,後面接著指定類型的元數據令牌。

EmitCall(OpCode, MethodInfo, Type[])

callcallvirt 指令放入Microsoft中繼語言 (MSIL) 數據流,以呼叫 varargs 方法。

EmitCalli(OpCode, CallingConvention, Type, Type[])

Calli 指令放在Microsoft中繼語言 (MSIL) 數據流上,並指定間接呼叫的 Unmanaged 呼叫慣例。

EmitCalli(OpCode, CallingConventions, Type, Type[], Type[])

Calli 指令放入Microsoft中繼語言 (MSIL) 數據流,並指定間接呼叫的 Managed 呼叫慣例。

EmitWriteLine(FieldInfo)

發出使用指定欄位呼叫 WriteLine 所需的Microsoft中繼語言 (MSIL)。

EmitWriteLine(LocalBuilder)

發出使用指定局部變數呼叫 WriteLine 所需的Microsoft中繼語言 (MSIL)。

EmitWriteLine(String)

發出Microsoft中繼語言 (MSIL) 以使用字串呼叫 WriteLine

EndExceptionBlock()

結束例外狀況區塊。

EndScope()

結束語彙範圍。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設哈希函式。

(繼承來源 Object)
GetType()

取得目前實例的 Type

(繼承來源 Object)
MarkLabel(Label)

使用指定的標籤Microsoft中繼語言 (MSIL) 數據流的目前位置。

MarkSequencePoint(ISymbolDocumentWriter, Int32, Int32, Int32, Int32)

在中繼語言 (MSIL) 資料流中標記Microsoft序列點。

MarkSequencePointCore(ISymbolDocumentWriter, Int32, Int32, Int32, Int32)

在衍生類別中覆寫時,在中繼語言 (MSIL) 數據流中標記Microsoft序列點。

MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
ThrowException(Type)

發出指示以擲回例外狀況。

ToString()

傳回表示目前 物件的字串。

(繼承來源 Object)
UsingNamespace(String)

指定要用於評估局部變數和監看目前使用中語匯範圍的命名空間。

明確介面實作

_ILGenerator.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

將一組名稱對應至對應的分派標識碼集。

_ILGenerator.GetTypeInfo(UInt32, UInt32, IntPtr)

擷取 物件的類型資訊,然後可用來取得介面的類型資訊。

_ILGenerator.GetTypeInfoCount(UInt32)

擷取物件提供的類型資訊介面數目(0 或 1)。

_ILGenerator.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

提供物件所公開屬性和方法的存取權。

適用於