DynamicILInfo 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供產生動態方法之 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建立局部變數籤章、例外狀況和程式代碼本文的陣列之後,您可以使用SetCode、 SetExceptions和 SetLocalSignature 方法,將它們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 |
取得動態方法,其主體是由目前的執行個體所產生。 |