ILGenerator 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
產生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 可用來為動態元件中的方法和建構函式產生方法主體(以 MethodBuilder 和 ConstructorBuilder 類別表示),以及獨立動態方法(由 DynamicMethod 類別表示)。 若要取得 ILGenerator,請使用 ConstructorBuilder.GetILGenerator、DynamicMethod.GetILGenerator和 MethodBuilder.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[]) |
將 |
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) |
提供物件所公開屬性和方法的存取權。 |