ILGenerator ILGenerator ILGenerator ILGenerator Class

Определение

Создает инструкции языка MSIL.Generates Microsoft intermediate language (MSIL) instructions.

public ref 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
    interface _ILGenerator
Public Class ILGenerator
Implements _ILGenerator
Наследование
ILGeneratorILGeneratorILGeneratorILGenerator
Атрибуты
Реализации

Комментарии

ILGenerator используется для создания тела методов для методов и конструкторов в динамических сборках (представленных классами MethodBuilder и ConstructorBuilder) и для автономных динамических методов (представленных классом DynamicMethod).ILGenerator is used to generate method bodies for methods and constructors in dynamic assemblies (represented by the MethodBuilder and ConstructorBuilder classes) and for standalone dynamic methods (represented by the DynamicMethod class). Чтобы получить ILGenerator, используйте методы ConstructorBuilder.GetILGenerator, DynamicMethod.GetILGenerator и MethodBuilder.GetILGenerator.To obtain an ILGenerator, use the ConstructorBuilder.GetILGenerator, DynamicMethod.GetILGenerator, and MethodBuilder.GetILGenerator methods.

MSIL используется в качестве входных данных для JIT-компилятора.MSIL is used as input to a just-in-time (JIT) compiler.

Свойства

ILOffset ILOffset ILOffset ILOffset

Получает текущее смещение (в байтах) в потоке языка MSIL, выпущенном ILGenerator.Gets the current offset, in bytes, in the Microsoft intermediate language (MSIL) stream that is being emitted by the ILGenerator.

Методы

BeginCatchBlock(Type) BeginCatchBlock(Type) BeginCatchBlock(Type) BeginCatchBlock(Type)

Задает начало блока catch.Begins a catch block.

BeginExceptFilterBlock() BeginExceptFilterBlock() BeginExceptFilterBlock() BeginExceptFilterBlock()

Задает начало блока исключения для фильтруемого исключения.Begins an exception block for a filtered exception.

BeginExceptionBlock() BeginExceptionBlock() BeginExceptionBlock() BeginExceptionBlock()

Задает начало блока исключения для нефильтруемого исключения.Begins an exception block for a non-filtered exception.

BeginFaultBlock() BeginFaultBlock() BeginFaultBlock() BeginFaultBlock()

Задает начало блока ошибки исключения в потоке инструкций языка MSIL.Begins an exception fault block in the Microsoft intermediate language (MSIL) stream.

BeginFinallyBlock() BeginFinallyBlock() BeginFinallyBlock() BeginFinallyBlock()

Задает начало финального блока в потоке инструкций языка MSIL.Begins a finally block in the Microsoft intermediate language (MSIL) instruction stream.

BeginScope() BeginScope() BeginScope() BeginScope()

Задает начало лексической области действия.Begins a lexical scope.

DeclareLocal(Type) DeclareLocal(Type) DeclareLocal(Type) DeclareLocal(Type)

Объявляет локальную переменную определенного типа.Declares a local variable of the specified type.

DeclareLocal(Type, Boolean) DeclareLocal(Type, Boolean) DeclareLocal(Type, Boolean) DeclareLocal(Type, Boolean)

Объявляет локальную переменную определенного типа; дополнительно может закрепить объект, на который ссылается переменная.Declares a local variable of the specified type, optionally pinning the object referred to by the variable.

DefineLabel() DefineLabel() DefineLabel() DefineLabel()

Объявляет новую метку.Declares a new label.

Emit(OpCode) Emit(OpCode) Emit(OpCode) Emit(OpCode)

Помещает указанную инструкцию в поток инструкций.Puts the specified instruction onto the stream of instructions.

Emit(OpCode, Byte) Emit(OpCode, Byte) Emit(OpCode, Byte) Emit(OpCode, Byte)

Помещает заданную инструкцию и символьный аргумент в поток инструкций языка MSIL.Puts the specified instruction and character argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, ConstructorInfo) Emit(OpCode, ConstructorInfo) Emit(OpCode, ConstructorInfo) Emit(OpCode, ConstructorInfo)

Помещает заданную инструкцию и маркер метаданных указанного конструктора в поток инструкций языка MSIL.Puts the specified instruction and metadata token for the specified constructor onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, Double) Emit(OpCode, Double) Emit(OpCode, Double) Emit(OpCode, Double)

Помещает заданную инструкцию и числовой аргумент в поток инструкций языка MSIL.Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, FieldInfo) Emit(OpCode, FieldInfo) Emit(OpCode, FieldInfo) Emit(OpCode, FieldInfo)

Помещает заданную инструкцию и маркер метаданных указанного поля в поток инструкций языка MSIL.Puts the specified instruction and metadata token for the specified field onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, Int16) Emit(OpCode, Int16) Emit(OpCode, Int16) Emit(OpCode, Int16)

Помещает заданную инструкцию и числовой аргумент в поток инструкций языка MSIL.Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, Int32) Emit(OpCode, Int32) Emit(OpCode, Int32) Emit(OpCode, Int32)

Помещает заданную инструкцию и числовой аргумент в поток инструкций языка MSIL.Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, Int64) Emit(OpCode, Int64) Emit(OpCode, Int64) Emit(OpCode, Int64)

Помещает заданную инструкцию и числовой аргумент в поток инструкций языка MSIL.Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, Label) Emit(OpCode, Label) Emit(OpCode, Label) Emit(OpCode, Label)

Помещает указанную инструкцию в поток инструкций языка MSIL и оставляет место, чтобы после того, как будут произведены необходимые настройки, можно было включить метку.Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream and leaves space to include a label when fixes are done.

Emit(OpCode, Label[]) Emit(OpCode, Label[]) Emit(OpCode, Label[]) Emit(OpCode, Label[])

Помещает указанную инструкцию в поток инструкций языка MSIL и оставляет место, чтобы после того, как будут произведены необходимые настройки, можно было включить метку.Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream and leaves space to include a label when fixes are done.

Emit(OpCode, LocalBuilder) Emit(OpCode, LocalBuilder) Emit(OpCode, LocalBuilder) Emit(OpCode, LocalBuilder)

Помещает в поток инструкций языка MSIL заданную инструкцию, за которой следует индекс заданной локальной переменной.Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream followed by the index of the given local variable.

Emit(OpCode, MethodInfo) Emit(OpCode, MethodInfo) Emit(OpCode, MethodInfo) Emit(OpCode, MethodInfo)

Помещает в поток инструкций языка MSIL заданную инструкцию, за которой следует маркер метаданных указанного метода.Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream followed by the metadata token for the given method.

Emit(OpCode, SByte) Emit(OpCode, SByte) Emit(OpCode, SByte) Emit(OpCode, SByte)

Помещает заданную инструкцию и символьный аргумент в поток инструкций языка MSIL.Puts the specified instruction and character argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, SignatureHelper) Emit(OpCode, SignatureHelper) Emit(OpCode, SignatureHelper) Emit(OpCode, SignatureHelper)

Помещает заданную инструкцию и токен подписи в поток инструкций языка MSIL.Puts the specified instruction and a signature token onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, Single) Emit(OpCode, Single) Emit(OpCode, Single) Emit(OpCode, Single)

Помещает заданную инструкцию и числовой аргумент в поток инструкций языка MSIL.Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, String) Emit(OpCode, String) Emit(OpCode, String) Emit(OpCode, String)

Помещает в поток инструкций языка MSIL заданную инструкцию, за которой следует маркер метаданных указанной строки.Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream followed by the metadata token for the given string.

Emit(OpCode, Type) Emit(OpCode, Type) Emit(OpCode, Type) Emit(OpCode, Type)

Помещает в поток инструкций языка MSIL заданную инструкцию, за которой следует маркер метаданных для указанного типа.Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream followed by the metadata token for the given type.

EmitCall(OpCode, MethodInfo, Type[]) EmitCall(OpCode, MethodInfo, Type[]) EmitCall(OpCode, MethodInfo, Type[]) EmitCall(OpCode, MethodInfo, Type[])

Помещает инструкцию call или callvirt в поток языка MSIL для вызова метода varargs.Puts a call or callvirt instruction onto the Microsoft intermediate language (MSIL) stream to call a varargs method.

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

Помещает инструкцию Calli в поток инструкций языка MSIL с указанием соглашений по неуправляемым вызовам для косвенного вызова.Puts a Calli instruction onto the Microsoft intermediate language (MSIL) stream, specifying an unmanaged calling convention for the indirect call.

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

Помещает инструкцию Calli в поток инструкций языка MSIL с указанием соглашений по управляемым вызовам для косвенного вызова.Puts a Calli instruction onto the Microsoft intermediate language (MSIL) stream, specifying a managed calling convention for the indirect call.

EmitWriteLine(FieldInfo) EmitWriteLine(FieldInfo) EmitWriteLine(FieldInfo) EmitWriteLine(FieldInfo)

Выдает инструкции языка MSIL, необходимые для вызова метода WriteLine с заданным полем.Emits the Microsoft intermediate language (MSIL) necessary to call WriteLine with the given field.

EmitWriteLine(LocalBuilder) EmitWriteLine(LocalBuilder) EmitWriteLine(LocalBuilder) EmitWriteLine(LocalBuilder)

Создает язык MSIL, требуемый для вызова WriteLine с заданной локальной переменной.Emits the Microsoft intermediate language (MSIL) necessary to call WriteLine with the given local variable.

EmitWriteLine(String) EmitWriteLine(String) EmitWriteLine(String) EmitWriteLine(String)

Выдает инструкции языка MSIL для вызова метода WriteLine со строкой.Emits the Microsoft intermediate language (MSIL) to call WriteLine with a string.

EndExceptionBlock() EndExceptionBlock() EndExceptionBlock() EndExceptionBlock()

Задает конец блока исключения.Ends an exception block.

EndScope() EndScope() EndScope() EndScope()

Задает конец лексической области действия.Ends a lexical scope.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
MarkLabel(Label) MarkLabel(Label) MarkLabel(Label) MarkLabel(Label)

Отмечает текущую позицию в потоке инструкций языка MSIL указанной меткой.Marks the Microsoft intermediate language (MSIL) stream's current position with the given label.

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

Задает точку следования в потоке инструкций языка MSIL.Marks a sequence point in the Microsoft intermediate language (MSIL) stream.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ThrowException(Type) ThrowException(Type) ThrowException(Type) ThrowException(Type)

Создает инструкцию вызова исключения.Emits an instruction to throw an exception.

ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)
UsingNamespace(String) UsingNamespace(String) UsingNamespace(String) UsingNamespace(String)

Задает пространство имен, которое следует использовать для определения значений локальных переменных и отслеживаемых величин для текущей активной лексической ограниченной области действия.Specifies the namespace to be used in evaluating locals and watches for the current active lexical scope.

Явные реализации интерфейса

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

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.Maps a set of names to a corresponding set of dispatch identifiers.

_ILGenerator.GetTypeInfo(UInt32, UInt32, IntPtr) _ILGenerator.GetTypeInfo(UInt32, UInt32, IntPtr) _ILGenerator.GetTypeInfo(UInt32, UInt32, IntPtr) _ILGenerator.GetTypeInfo(UInt32, UInt32, IntPtr)

Возвращает сведения о типе объекта, которые затем могут использоваться для получения сведений о типе интерфейса.Retrieves the type information for an object, which can then be used to get the type information for an interface.

_ILGenerator.GetTypeInfoCount(UInt32) _ILGenerator.GetTypeInfoCount(UInt32) _ILGenerator.GetTypeInfoCount(UInt32) _ILGenerator.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

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

Предоставляет доступ к открытым свойствам и методам объекта.Provides access to properties and methods exposed by an object.

Применяется к