ILGenerator 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
產生 Microsoft Intermediate Language (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 intermediate language (MSIL) 資料流中,取得目前位移 (以位元組為單位)。 |
方法
BeginCatchBlock(Type) |
開始 Catch 區塊。 |
BeginExceptFilterBlock() |
為篩選的例外狀況開始例外狀況區塊。 |
BeginExceptionBlock() |
為非篩選的例外狀況開始例外狀況區塊。 |
BeginFaultBlock() |
在 Microsoft Intermediate Language (MSIL) 資料流上開始例外狀況錯誤區塊。 |
BeginFinallyBlock() |
在 Microsoft Intermediate Language (MSIL) 指令資料流中開始 finally 區塊。 |
BeginScope() |
開始語彙範圍 (Lexical Scope)。 |
CreateLabel(Int32) |
產生 Microsoft Intermediate Language (MSIL) 指令。 |
DeclareLocal(Type) |
宣告指定型別的區域變數。 |
DeclareLocal(Type, Boolean) |
宣告指定型別的區域變數,選擇性固定 (Pin) 變數所參考的物件。 |
DefineLabel() |
宣告新的標記。 |
Emit(OpCode) |
放置指定的指令到指令資料流中。 |
Emit(OpCode, Byte) |
放置指定的指令和字元引數到指令的 Microsoft Intermediate Language (MSIL) 資料流。 |
Emit(OpCode, ConstructorInfo) |
放置指定建構函式的指定指令和中繼資料 (Metadata) 語彙基元到指令的 Microsoft Intermediate Language (MSIL) 資料流中。 |
Emit(OpCode, Double) |
放置指定的指令和數值引數到指令的 Microsoft Intermediate Language (MSIL) 資料流。 |
Emit(OpCode, FieldInfo) |
放置指定欄位的指定指令和中繼資料語彙基元到指令的 Microsoft Intermediate Language (MSIL) 資料流中。 |
Emit(OpCode, Int16) |
放置指定的指令和數值引數到指令的 Microsoft Intermediate Language (MSIL) 資料流。 |
Emit(OpCode, Int32) |
放置指定的指令和數值引數到指令的 Microsoft Intermediate Language (MSIL) 資料流。 |
Emit(OpCode, Int64) |
放置指定的指令和數值引數到指令的 Microsoft Intermediate Language (MSIL) 資料流。 |
Emit(OpCode, Label) |
放置指定的指令到 Microsoft Intermediate Language (MSIL) 資料流中,並留下空間,以便在完成修復時加入標記。 |
Emit(OpCode, Label[]) |
放置指定的指令到 Microsoft Intermediate Language (MSIL) 資料流中,並留下空間,以便在完成修復時加入標記。 |
Emit(OpCode, LocalBuilder) |
放置指定的指令到 Microsoft Intermediate Language (MSIL) 資料流,然後放置指定區域變數的索引。 |
Emit(OpCode, MethodInfo) |
放置指定的指令到 Microsoft Intermediate Language (MSIL) 資料流,然後放置指定方法的中繼資料語彙基元。 |
Emit(OpCode, SByte) |
放置指定的指令和字元引數到指令的 Microsoft Intermediate Language (MSIL) 資料流。 |
Emit(OpCode, SignatureHelper) |
放置指定的指令和簽章語彙基元到指令的 Microsoft Intermediate Language (MSIL) 資料流。 |
Emit(OpCode, Single) |
放置指定的指令和數值引數到指令的 Microsoft Intermediate Language (MSIL) 資料流。 |
Emit(OpCode, String) |
放置指定的指令到 Microsoft Intermediate Language (MSIL) 資料流,然後放置指定字串的中繼資料語彙基元。 |
Emit(OpCode, Type) |
放置指定的指令到 Microsoft Intermediate Language (MSIL) 資料流,然後放置指定型別的中繼資料語彙基元。 |
EmitCall(OpCode, MethodInfo, Type[]) |
將 |
EmitCalli(OpCode, CallingConvention, Type, Type[]) |
指定間接呼叫的 Unmanaged 呼叫慣例,將 Calli 指令放置到 Microsoft Intermediate Language (MSIL) 資料流中。 |
EmitCalli(OpCode, CallingConventions, Type, Type[], Type[]) |
指定間接呼叫的 Managed 呼叫慣例,將 Calli 指令放置到 Microsoft Intermediate Language (MSIL) 資料流中。 |
EmitWriteLine(FieldInfo) |
發出以指定欄位呼叫 WriteLine 所需的 Microsoft Intermediate Language (MSIL)。 |
EmitWriteLine(LocalBuilder) |
發出以指定本機變數呼叫 WriteLine 所需的 Microsoft 中繼語言 (MSIL)。 |
EmitWriteLine(String) |
發出 Microsoft Intermediate Language (MSIL),以字串呼叫 WriteLine。 |
EndExceptionBlock() |
結束例外狀況區塊。 |
EndScope() |
結束語彙範圍。 |
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
MarkLabel(Label) |
以指定標記來標示 Microsoft Intermediate Language (MSIL) 資料流的目前位置。 |
MarkSequencePoint(ISymbolDocumentWriter, Int32, Int32, Int32, Int32) |
標記 Microsoft Intermediate Language (MSIL) 資料流中的序列點。 |
MarkSequencePointCore(ISymbolDocumentWriter, Int32, Int32, Int32, Int32) |
產生 Microsoft Intermediate Language (MSIL) 指令。 |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
ThrowException(Type) |
發出擲回例外狀況的指令。 |
ToString() |
傳回代表目前物件的字串。 (繼承來源 Object) |
UsingNamespace(String) |
指定要用來評估區域變數的命名空間 (Namespace),並注意目前作用的語彙範圍。 |
明確介面實作
_ILGenerator.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
將一組名稱對應至一組對應的分派識別項 (Dispatch Identifier)。 |
_ILGenerator.GetTypeInfo(UInt32, UInt32, IntPtr) |
擷取物件的類型資訊,可以用來取得介面的類型資訊。 |
_ILGenerator.GetTypeInfoCount(UInt32) |
擷取物件提供的類型資訊介面數目 (0 或 1)。 |
_ILGenerator.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
提供物件所公開的屬性和方法的存取權。 |
適用於
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應