ILGenerator Klasa

Definicja

Generuje instrukcje języka Microsoft Intermediate Language (MSIL).

public ref class ILGenerator
public ref class ILGenerator : System::Runtime::InteropServices::_ILGenerator
public 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 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).

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

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 strumieniu instrukcji języka pośrednich firmy Microsoft (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 strumieniu instrukcji języka microsoft pośredniego (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 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 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 pośrednich firmy Microsoft (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