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 ) oraz dla autonomicznych metod dynamicznych (reprezentowanych przez klasę DynamicMethod ). Aby uzyskać element ILGenerator, użyj ConstructorBuilder.GetILGeneratormetod , DynamicMethod.GetILGeneratori MethodBuilder.GetILGenerator .

Język MSIL jest używany jako dane wejściowe kompilatora typu 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 element ILGenerator.

Metody

BeginCatchBlock(Type)

Rozpoczyna blok catch.

BeginExceptFilterBlock()

Rozpoczyna blok wyjątku 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 microsoft intermediate language (MSIL).

BeginFinallyBlock()

Rozpoczyna blok finally w strumieniu instrukcji języka Microsoft Intermediate Language (MSIL).

BeginScope()

Rozpoczyna zakres leksykiczny.

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śloną instrukcję i argument znaku na strumieniu instrukcji języka microsoft intermediate language (MSIL).

Emit(OpCode, ConstructorInfo)

Umieszcza określony token instrukcji i metadanych dla określonego konstruktora na strumień instrukcji języka Microsoft Intermediate Language (MSIL).

Emit(OpCode, Double)

Umieszcza określoną instrukcję i argument liczbowy na strumieniu instrukcji języka microsoft intermediate language (MSIL).

Emit(OpCode, FieldInfo)

Umieszcza określony token instrukcji i metadanych dla określonego pola na strumień instrukcji języka Microsoft Intermediate Language (MSIL).

Emit(OpCode, Int16)

Umieszcza określoną instrukcję i argument liczbowy na strumieniu instrukcji języka microsoft intermediate language (MSIL).

Emit(OpCode, Int32)

Umieszcza określoną instrukcję i argument liczbowy na strumieniu instrukcji języka microsoft intermediate language (MSIL).

Emit(OpCode, Int64)

Umieszcza określoną instrukcję i argument liczbowy na strumieniu instrukcji języka microsoft intermediate language (MSIL).

Emit(OpCode, Label)

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

Emit(OpCode, Label[])

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

Emit(OpCode, LocalBuilder)

Umieszcza określoną instrukcję w strumieniu języka pośredniego firmy Microsoft (MSIL), po którym następuje indeks danej zmiennej lokalnej.

Emit(OpCode, MethodInfo)

Umieszcza określoną instrukcję w strumieniu języka microsoft intermediate language (MSIL), po którym następuje token metadanych dla danej metody.

Emit(OpCode, SByte)

Umieszcza określoną instrukcję i argument znaku na strumieniu instrukcji języka microsoft intermediate language (MSIL).

Emit(OpCode, SignatureHelper)

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

Emit(OpCode, Single)

Umieszcza określoną instrukcję i argument liczbowy na strumieniu instrukcji języka microsoft intermediate language (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 microsoft intermediate language (MSIL), po którym następuje 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 microsoft intermediate language (MSIL), 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 microsoft intermediate language (MSIL) niezbędny do wywołania WriteLine z daną zmienną lokalną.

EmitWriteLine(String)

Emituje język microsoft intermediate language (MSIL) do wywołania WriteLine za pomocą ciągu.

EndExceptionBlock()

Kończy blok wyjątku.

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 wartość bieżącego wystąpienia.

(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 microsoft intermediate language (MSIL).

MemberwiseClone()

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

(Odziedziczone po Object)
ThrowException(Type)

Emituje instrukcję zgłaszania wyjątku.

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 leksykiczny.

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