Поделиться через


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()

Начинает блок сбоя исключения в потоке MICROSOFT промежуточного языка (MSIL).

BeginFinallyBlock()

Начинается, наконец, блок в потоке инструкций microsoft промежуточного языка (MSIL).

BeginScope()

Начинает лексическую область.

CreateLabel(Int32)

Создает Label с заданным идентификатором.

DeclareLocal(Type)

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

DeclareLocal(Type, Boolean)

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

DefineLabel()

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

Emit(OpCode)

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

Emit(OpCode, Byte)

Помещает указанный аргумент инструкции и символьного аргумента в поток инструкций промежуточного языка (MSIL) Майкрософт.

Emit(OpCode, ConstructorInfo)

Помещает указанные инструкции и маркер метаданных для указанного конструктора в поток инструкций на промежуточном языке Майкрософт (MSIL).

Emit(OpCode, Double)

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

Emit(OpCode, FieldInfo)

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

Emit(OpCode, Int16)

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

Emit(OpCode, Int32)

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

Emit(OpCode, Int64)

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

Emit(OpCode, Label)

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

Emit(OpCode, Label[])

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

Emit(OpCode, LocalBuilder)

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

Emit(OpCode, MethodInfo)

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

Emit(OpCode, SByte)

Помещает указанный аргумент инструкции и символьного аргумента в поток инструкций промежуточного языка (MSIL) Майкрософт.

Emit(OpCode, SignatureHelper)

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

Emit(OpCode, Single)

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

Emit(OpCode, String)

Помещает указанную инструкцию в поток MICROSOFT промежуточного языка (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 (MSIL).

MarkSequencePointCore(ISymbolDocumentWriter, Int32, Int32, Int32, Int32)

При переопределении в производном классе помечает точку последовательности в потоке MICROSOFT промежуточного языка (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)

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

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