DynamicILInfo Classe

Definizione

Fornisce supporto per modi alternativi per generare il Microsoft linguaggio intermedio (MSIL) e i metadati per un metodo dinamico, inclusi i metodi per la creazione di token e per l'inserimento del codice, della gestione delle eccezioni e dei BLOB di firma delle variabili locali.

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
Ereditarietà
DynamicILInfo
Attributi

Commenti

La DynamicILInfo classe consente agli sviluppatori di scrivere i propri generatori MSIL anziché usare ILGenerator.

Per creare istanze di altri tipi, chiamare metodi e così via, il codice MSIL generato deve includere token per tali entità. La DynamicILInfo classe fornisce diversi sovraccarichi del metodo GetTokenFor, che restituiscono token validi nell'ambito del DynamicILInfo corrente. Ad esempio, se dovete chiamare un overload del metodo Console.WriteLine, è possibile ottenere un RuntimeMethodHandle per tale overload e passarlo al metodo GetTokenFor per ottenere un token da incorporare nel vostro MSIL.

Dopo aver creato Byte matrici per la firma della variabile locale, le eccezioni e il corpo del codice, è possibile usare i metodi SetCode, SetExceptions e SetLocalSignature per inserirli nel DynamicMethod associato al tuo oggetto DynamicILInfo.

La generazione di metadati personalizzati e MSIL richiede familiarità con la documentazione di Common Language Infrastructure (CLI), in particolare "Partition II: Metadata Definition and Semantics" e "Partition III: CIL Instruction Set". Per altre informazioni, vedere ECMA 335 Common Language Infrastructure (CLI).For more information, see ECMA 335 Common Language Infrastructure (CLI).

Note

Non usare DynamicILInfo per generare codice che crea un delegato a un altro metodo dinamico chiamando direttamente il costruttore delegato. Usare invece il CreateDelegate metodo per creare il delegato. Un delegato creato con il costruttore delegato non dispone di un riferimento al metodo dinamico di destinazione. Il metodo dinamico potrebbe essere reclamato dalla raccolta dei rifiuti anche se il delegato è ancora in uso.

Proprietà

Nome Descrizione
DynamicMethod

Ottiene il metodo dinamico il cui corpo viene generato dall'istanza corrente.

Metodi

Nome Descrizione
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetTokenFor(Byte[])

Ottiene un token, valido nell'ambito dell'oggetto corrente DynamicILInfo, che rappresenta la firma per il metodo dinamico associato.

GetTokenFor(DynamicMethod)

Ottiene un token, valido nell'ambito dell'oggetto corrente DynamicILInfo, che rappresenta un metodo dinamico da chiamare dal metodo associato.

GetTokenFor(RuntimeFieldHandle, RuntimeTypeHandle)

Ottiene un token, valido nell'ambito dell'oggetto corrente DynamicILInfo, che rappresenta un campo a cui accedere dal metodo dinamico associato. Il campo si trova nel tipo generico specificato.

GetTokenFor(RuntimeFieldHandle)

Ottiene un token, valido nell'ambito dell'oggetto corrente DynamicILInfo, che rappresenta un campo a cui accedere dal metodo dinamico associato.

GetTokenFor(RuntimeMethodHandle, RuntimeTypeHandle)

Ottiene un token, valido nell'ambito dell'oggetto corrente DynamicILInfo, che rappresenta un metodo su un tipo generico.

GetTokenFor(RuntimeMethodHandle)

Ottiene un token, valido nell'ambito dell'oggetto corrente DynamicILInfo, che rappresenta un metodo a cui accedere dal metodo dinamico associato.

GetTokenFor(RuntimeTypeHandle)

Ottiene un token, valido nell'ambito dell'oggetto corrente DynamicILInfo, che rappresenta un tipo da utilizzare nel metodo dinamico associato.

GetTokenFor(String)

Ottiene un token, valido nell'ambito dell'oggetto corrente DynamicILInfo, che rappresenta un valore letterale stringa da utilizzare nel metodo dinamico associato.

GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
SetCode(Byte[], Int32)

Imposta il corpo del codice del metodo dinamico associato.

SetCode(Byte*, Int32, Int32)

Imposta il corpo del codice del metodo dinamico associato.

SetExceptions(Byte[])

Imposta i metadati dell'eccezione per il metodo dinamico associato.

SetExceptions(Byte*, Int32)

Imposta i metadati dell'eccezione per il metodo dinamico associato.

SetLocalSignature(Byte[])

Imposta la firma della variabile locale che descrive il layout delle variabili locali per il metodo dinamico associato.

SetLocalSignature(Byte*, Int32)

Imposta la firma della variabile locale che descrive il layout delle variabili locali per il metodo dinamico associato.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a