ILGenerator Klasa

Definicja

Generuje instrukcje języka 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
Dziedziczenie
ILGenerator
Atrybuty
Implementuje

Uwagi

ILGenerator służy do generowania treści metod dla metod i konstruktorów w zestawach dynamicznych (reprezentowanych przez MethodBuilder klasy i ConstructorBuilder ) i dla autonomicznych metod dynamicznych (reprezentowanych przez klasę DynamicMethod ). Aby uzyskać obiekt ILGenerator, użyj ConstructorBuilder.GetILGeneratormetod , DynamicMethod.GetILGeneratori MethodBuilder.GetILGenerator .

MSIL jest używany jako dane wejściowe kompilatora just in time (JIT).

Konstruktory

ILGenerator()

Inicjuje nowe wystąpienie klasy ILGenerator.

Właściwości

ILOffset

Pobiera bieżące przesunięcie w bajtach w strumieniu języka pośredniego firmy Microsoft (MSIL), który jest emitowany przez ILGeneratorelement .

Metody

BeginCatchBlock(Type)

Rozpoczyna blok catch.

BeginExceptFilterBlock()

Rozpoczyna blok wyjątków dla filtrowanego wyjątku.

BeginExceptionBlock()

Rozpoczyna blok wyjątku dla wyjątku niefiltrowanego.

BeginFaultBlock()

Rozpoczyna blok błędów wyjątku w strumieniu języka pośredniego firmy Microsoft (MSIL).

BeginFinallyBlock()

Rozpoczyna blok w końcu w strumieniu instrukcji języka pośredniego firmy Microsoft (MSIL).

BeginScope()

Rozpoczyna zakres leksykalny.

CreateLabel(Int32)

Generuje instrukcje języka microsoft intermediate language (MSIL).

DeclareLocal(Type)

Deklaruje zmienną lokalną określonego typu.

DeclareLocal(Type, Boolean)

Deklaruje zmienną lokalną określonego typu, opcjonalnie przypinając obiekt, do której odwołuje się zmienna.

DefineLabel()

Deklaruje nową etykietę.

Emit(OpCode)

Umieszcza określoną instrukcję na strumieniu instrukcji.

Emit(OpCode, Byte)

Umieszcza określony argument instrukcji i znaku na strumieniu instrukcji języka pośredniego firmy Microsoft (MSIL).

Emit(OpCode, ConstructorInfo)

Umieszcza określony token instrukcji i metadanych dla określonego konstruktora na strumieniu instrukcji języka pośrednich firmy Microsoft (MSIL).

Emit(OpCode, Double)

Umieszcza określoną instrukcję i argument liczbowy na strumieniu instrukcji języka pośredniego firmy Microsoft (MSIL).

Emit(OpCode, FieldInfo)

Umieszcza określony token instrukcji i metadanych dla określonego pola na strumieniu instrukcji języka microsoft pośredniego (MSIL).

Emit(OpCode, Int16)

Umieszcza określoną instrukcję i argument liczbowy na strumieniu instrukcji języka pośredniego firmy Microsoft (MSIL).

Emit(OpCode, Int32)

Umieszcza określoną instrukcję i argument liczbowy na strumieniu instrukcji języka pośredniego firmy Microsoft (MSIL).

Emit(OpCode, Int64)

Umieszcza określoną instrukcję i argument liczbowy na strumieniu instrukcji języka pośredniego firmy Microsoft (MSIL).

Emit(OpCode, Label)

Umieszcza określoną instrukcję w strumieniu języka pośrednich (MSIL) firmy Microsoft i pozostawia miejsce, aby dołączyć etykietę po zakończeniu poprawek.

Emit(OpCode, Label[])

Umieszcza określoną instrukcję w strumieniu języka pośrednich (MSIL) firmy Microsoft i pozostawia miejsce, aby dołączyć etykietę po zakończeniu poprawek.

Emit(OpCode, LocalBuilder)

Umieszcza określoną instrukcję w strumieniu języka microsoft intermediate language (MSIL), a następnie indeks danej zmiennej lokalnej.

Emit(OpCode, MethodInfo)

Umieszcza określoną instrukcję w strumieniu języka pośredniego firmy Microsoft (MSIL), a następnie token metadanych dla danej metody.

Emit(OpCode, SByte)

Umieszcza określony argument instrukcji i znaku na strumieniu instrukcji języka pośredniego firmy Microsoft (MSIL).

Emit(OpCode, SignatureHelper)

Umieszcza określoną instrukcję i token podpisu na strumieniu instrukcji języka pośrednich firmy Microsoft (MSIL).

Emit(OpCode, Single)

Umieszcza określoną instrukcję i argument liczbowy na strumieniu instrukcji języka pośredniego firmy Microsoft (MSIL).

Emit(OpCode, String)

Umieszcza określoną instrukcję w strumieniu języka microsoft intermediate language (MSIL), a następnie token metadanych dla danego ciągu.

Emit(OpCode, Type)

Umieszcza określoną instrukcję w strumieniu języka pośrednich firmy Microsoft (MSIL), a następnie token metadanych dla danego typu.

EmitCall(OpCode, MethodInfo, Type[])

Umieszcza instrukcję call lub callvirt do strumienia języka pośredniego firmy Microsoft (MSIL), aby wywołać metodę varargs .

EmitCalli(OpCode, CallingConvention, Type, Type[])

Umieszcza instrukcję Calli w strumieniu języka pośrednich (MSIL) firmy Microsoft, określając niezarządzaną konwencję wywoływania dla wywołania pośredniego.

EmitCalli(OpCode, CallingConventions, Type, Type[], Type[])

Umieszcza instrukcję Calli w strumieniu języka microsoft intermediate language (MSIL), określając zarządzaną konwencję wywoływania dla wywołania pośredniego.

EmitWriteLine(FieldInfo)

Emituje język microsoft intermediate language (MSIL) niezbędny do wywołania WriteLine z danym polem.

EmitWriteLine(LocalBuilder)

Emituje język pośredni microsoft (MSIL) niezbędny do wywołania WriteLine z daną zmienną lokalną.

EmitWriteLine(String)

Emituje język pośredni microsoft (MSIL) do wywołania WriteLine za pomocą ciągu.

EndExceptionBlock()

Kończy blok wyjątków.

EndScope()

Kończy zakres leksykalny.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
MarkLabel(Label)

Oznacza bieżącą pozycję strumienia języka microsoft intermediate language (MSIL) z daną etykietą.

MarkSequencePoint(ISymbolDocumentWriter, Int32, Int32, Int32, Int32)

Oznacza punkt sekwencji w strumieniu języka pośredniego firmy Microsoft (MSIL).

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ThrowException(Type)

Emituje instrukcję, aby zgłosić wyjątek.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
UsingNamespace(String)

Określa przestrzeń nazw, która ma być używana w ocenie ustawień lokalnych i obserwuje bieżący aktywny zakres leksykalny.

Jawne implementacje interfejsu

_ILGenerator.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłania.

_ILGenerator.GetTypeInfo(UInt32, UInt32, IntPtr)

Pobiera informacje o typie dla obiektu, których następnie można użyć do uzyskania informacji o typie interfejsu.

_ILGenerator.GetTypeInfoCount(UInt32)

Pobiera informację o liczbie typów interfejsów, jakie zawiera obiekt (0 lub 1).

_ILGenerator.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Umożliwia dostęp do właściwości i metod udostępnianych przez obiekt.

Dotyczy