DynamicILInfo 類別

定義

提供產生動態方法之 Microsoft Intermediate Language (MSIL) 和中繼資料 (Metadata) 的替代方式支援,包括用以建立語彙基元 (Token) 和插入程式碼的方法、例外狀況處理 (Exception Handling) 以及區域變數簽章 Blob (二進位大型物件)。

public ref class DynamicILInfo sealed
public ref class DynamicILInfo
public sealed class DynamicILInfo
[System.Runtime.InteropServices.ComVisible(true)]
public class DynamicILInfo
public class DynamicILInfo
type DynamicILInfo = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type DynamicILInfo = class
Public NotInheritable Class DynamicILInfo
Public Class DynamicILInfo
繼承
DynamicILInfo
屬性

備註

類別 DynamicILInfo 可讓開發人員撰寫自己的 MSIL 產生器,而不是使用 ILGenerator

若要建立其他類型的實例、呼叫方法等等,您產生的 MSIL 必須包含這些實體的令牌。 類別 DynamicILInfo 提供方法的 GetTokenFor 數個多載,可傳回目前 DynamicILInfo範圍內有效的令牌。 例如,如果您需要呼叫 方法的多 Console.WriteLine 載,您可以取得 RuntimeMethodHandle 該多載的 ,並將它傳遞至 GetTokenFor 方法,以取得令牌以內嵌在 MSIL 中。

Byte建立局部變數籤章、例外狀況和程式代碼本文的陣列之後,您可以使用SetCodeSetExceptionsSetLocalSignature 方法,將它們DynamicMethod插入與物件DynamicILInfo相關聯的 。

產生您自己的元數據和 MSIL 需要熟悉 Common Language Infrastructure (CLI) 檔,特別是“Partition II: Metadata Definition and Semantics” 和 “Partition III: CIL 指令集”。 如需詳細資訊,請參閱 ECMA 335 Common Language Infrastructure (CLI)

注意

請勿使用 DynamicILInfo 來產生程序代碼,以直接呼叫委派建構函式,以建立另一個動態方法的委派。 請改用 CreateDelegate 方法來建立委派。 使用委派建構函式建立的委派沒有目標動態方法的參考。 當委派仍在使用時,動態方法可能會由垃圾收集回收。

屬性

DynamicMethod

取得動態方法,其主體是由目前的執行個體所產生。

方法

Equals(Object)

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

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetTokenFor(Byte[])

取得在目前 DynamicILInfo 範圍內有效的語彙基元,表示關聯動態方法的簽章。

GetTokenFor(DynamicMethod)

取得在目前 DynamicILInfo 範圍內有效的語彙基元,表示要從關聯的方法呼叫的動態方法。

GetTokenFor(RuntimeFieldHandle)

取得在目前 DynamicILInfo 範圍內有效的語彙基元,表示要從關聯的動態方法存取的欄位。

GetTokenFor(RuntimeFieldHandle, RuntimeTypeHandle)

取得在目前 DynamicILInfo 範圍內有效的語彙基元,表示要從關聯的動態方法存取的欄位;該欄位是在指定的泛型型別上。

GetTokenFor(RuntimeMethodHandle)

取得在目前 DynamicILInfo 範圍內有效的語彙基元,表示要從關聯的動態方法存取的方法。

GetTokenFor(RuntimeMethodHandle, RuntimeTypeHandle)

取得在目前 DynamicILInfo 範圍內有效的語彙基元,表示泛型型別的方法。

GetTokenFor(RuntimeTypeHandle)

取得在目前 DynamicILInfo 範圍內有效的語彙基元,表示要用於關聯的動態方法中的型別。

GetTokenFor(String)

取得在目前 DynamicILInfo 範圍內有效的語彙基元,表示要用於關聯的動態方法中的字串常值 (String Literal)。

GetType()

取得目前執行個體的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
SetCode(Byte*, Int32, Int32)

設定關聯之動態方法的程式碼主體。

SetCode(Byte[], Int32)

設定關聯之動態方法的程式碼主體。

SetExceptions(Byte*, Int32)

設定關聯之動態方法的例外狀況中繼資料。

SetExceptions(Byte[])

設定關聯之動態方法的例外狀況中繼資料。

SetLocalSignature(Byte*, Int32)

設定區域變數簽章,描述關聯之動態方法的區域變數配置。

SetLocalSignature(Byte[])

設定區域變數簽章,描述關聯之動態方法的區域變數配置。

ToString()

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

(繼承來源 Object)

適用於