ILGenerator Класс

Определение

Создает инструкции языка 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
Наследование
ILGenerator
Атрибуты
Реализации

Комментарии

ILGenerator используется для создания тел методов для методов и конструкторов в динамических сборках (представленных классами MethodBuilder и ConstructorBuilder ) и для автономных динамических методов (представленных классом DynamicMethod ). Чтобы получить ILGenerator, используйте методы ConstructorBuilder.GetILGenerator, DynamicMethod.GetILGeneratorи MethodBuilder.GetILGenerator .

MSIL используется в качестве входных данных для JIT-компилятора.

Конструкторы

ILGenerator()

Инициализирует новый экземпляр класса ILGenerator.

Свойства

ILOffset

Получает текущее смещение (в байтах) в потоке языка MSIL, выпущенном ILGenerator.

Методы

BeginCatchBlock(Type)

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

BeginExceptFilterBlock()

Задает начало блока исключения для фильтруемого исключения.

BeginExceptionBlock()

Задает начало блока исключения для нефильтруемого исключения.

BeginFaultBlock()

Задает начало блока ошибки исключения в потоке инструкций языка MSIL.

BeginFinallyBlock()

Задает начало финального блока в потоке инструкций языка MSIL.

BeginScope()

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

CreateLabel(Int32)

Создает инструкции языка MSIL.

DeclareLocal(Type)

Объявляет локальную переменную определенного типа.

DeclareLocal(Type, Boolean)

Объявляет локальную переменную определенного типа; дополнительно может закрепить объект, на который ссылается переменная.

DefineLabel()

Объявляет новую метку.

Emit(OpCode)

Помещает указанную инструкцию в поток инструкций.

Emit(OpCode, Byte)

Помещает заданную инструкцию и символьный аргумент в поток инструкций языка MSIL.

Emit(OpCode, ConstructorInfo)

Помещает заданную инструкцию и маркер метаданных указанного конструктора в поток инструкций языка MSIL.

Emit(OpCode, Double)

Помещает заданную инструкцию и числовой аргумент в поток инструкций языка MSIL.

Emit(OpCode, FieldInfo)

Помещает заданную инструкцию и маркер метаданных указанного поля в поток инструкций языка MSIL.

Emit(OpCode, Int16)

Помещает заданную инструкцию и числовой аргумент в поток инструкций языка MSIL.

Emit(OpCode, Int32)

Помещает заданную инструкцию и числовой аргумент в поток инструкций языка MSIL.

Emit(OpCode, Int64)

Помещает заданную инструкцию и числовой аргумент в поток инструкций языка MSIL.

Emit(OpCode, Label)

Помещает указанную инструкцию в поток инструкций языка MSIL и оставляет место, чтобы после того, как будут произведены необходимые настройки, можно было включить метку.

Emit(OpCode, Label[])

Помещает указанную инструкцию в поток инструкций языка MSIL и оставляет место, чтобы после того, как будут произведены необходимые настройки, можно было включить метку.

Emit(OpCode, LocalBuilder)

Помещает в поток инструкций языка MSIL заданную инструкцию, за которой следует индекс заданной локальной переменной.

Emit(OpCode, MethodInfo)

Помещает в поток инструкций языка MSIL заданную инструкцию, за которой следует маркер метаданных указанного метода.

Emit(OpCode, SByte)

Помещает заданную инструкцию и символьный аргумент в поток инструкций языка MSIL.

Emit(OpCode, SignatureHelper)

Помещает заданную инструкцию и токен подписи в поток инструкций языка MSIL.

Emit(OpCode, Single)

Помещает заданную инструкцию и числовой аргумент в поток инструкций языка MSIL.

Emit(OpCode, String)

Помещает в поток инструкций языка MSIL заданную инструкцию, за которой следует маркер метаданных указанной строки.

Emit(OpCode, Type)

Помещает в поток инструкций языка MSIL заданную инструкцию, за которой следует маркер метаданных для указанного типа.

EmitCall(OpCode, MethodInfo, Type[])

Помещает инструкцию call или callvirt в поток языка MSIL для вызова метода varargs.

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

Помещает инструкцию Calli в поток инструкций языка MSIL с указанием соглашений по неуправляемым вызовам для косвенного вызова.

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

Помещает инструкцию Calli в поток инструкций языка MSIL с указанием соглашений по управляемым вызовам для косвенного вызова.

EmitWriteLine(FieldInfo)

Выдает инструкции языка MSIL, необходимые для вызова метода WriteLine с заданным полем.

EmitWriteLine(LocalBuilder)

Создает язык MSIL, требуемый для вызова WriteLine с заданной локальной переменной.

EmitWriteLine(String)

Выдает инструкции языка MSIL для вызова метода WriteLine со строкой.

EndExceptionBlock()

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

EndScope()

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

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

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

(Унаследовано от Object)
MarkLabel(Label)

Отмечает текущую позицию в потоке инструкций языка MSIL указанной меткой.

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

Задает точку следования в потоке инструкций языка MSIL.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ThrowException(Type)

Создает инструкцию вызова исключения.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
UsingNamespace(String)

Задает пространство имен, которое следует использовать для определения значений локальных переменных и отслеживаемых величин для текущей активной лексической ограниченной области действия.

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

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

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.

_ILGenerator.GetTypeInfo(UInt32, UInt32, IntPtr)

Возвращает сведения о типе объекта, которые затем могут использоваться для получения сведений о типе интерфейса.

_ILGenerator.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).

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

Предоставляет доступ к открытым свойствам и методам объекта.

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