ILGenerator 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
生成Microsoft中间语言(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 |
获取由 ILGenerator发出的Microsoft中间语言(MSIL)流中的当前偏移量(以字节为单位)。 |
方法
BeginCatchBlock(Type) |
开始捕获块。 |
BeginExceptFilterBlock() |
开始筛选的异常的异常块。 |
BeginExceptionBlock() |
为未筛选的异常开始异常块。 |
BeginFaultBlock() |
在Microsoft中间语言(MSIL)流中开始异常错误块。 |
BeginFinallyBlock() |
开始Microsoft中间语言(MSIL)指令流中的最后块。 |
BeginScope() |
开始词法范围。 |
CreateLabel(Int32) |
创建具有给定 ID 的 Label。 |
DeclareLocal(Type) |
声明指定类型的局部变量。 |
DeclareLocal(Type, Boolean) |
声明指定类型的局部变量,可以选择固定变量所引用的对象。 |
DefineLabel() |
声明新标签。 |
Emit(OpCode) |
将指定的指令置于指令流中。 |
Emit(OpCode, Byte) |
将指定的指令和字符参数置于指令的Microsoft中间语言(MSIL)流中。 |
Emit(OpCode, ConstructorInfo) |
将指定构造函数的指定指令和元数据令牌置于指令Microsoft中间语言(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) |
将指定的指令置于Microsoft中间语言(MSIL)流,后跟给定方法的元数据令牌。 |
Emit(OpCode, SByte) |
将指定的指令和字符参数置于指令的Microsoft中间语言(MSIL)流中。 |
Emit(OpCode, SignatureHelper) |
将指定的指令和签名令牌置于指令的Microsoft中间语言(MSIL)流中。 |
Emit(OpCode, Single) |
将指定的指令和数值参数置于指令Microsoft中间语言(MSIL)流中。 |
Emit(OpCode, String) |
将指定的指令置于Microsoft中间语言(MSIL)流,后跟给定字符串的元数据令牌。 |
Emit(OpCode, Type) |
将指定的指令置于Microsoft中间语言(MSIL)流,后跟给定类型的元数据令牌。 |
EmitCall(OpCode, MethodInfo, Type[]) |
将 |
EmitCalli(OpCode, CallingConvention, Type, Type[]) |
将 Calli 指令置于Microsoft中间语言(MSIL)流中,为间接调用指定非托管调用约定。 |
EmitCalli(OpCode, CallingConventions, Type, Type[], Type[]) |
将 Calli 指令置于Microsoft中间语言(MSIL)流中,为间接调用指定托管调用约定。 |
EmitWriteLine(FieldInfo) |
发出使用给定字段调用 WriteLine 所需的Microsoft中间语言(MSIL)。 |
EmitWriteLine(LocalBuilder) |
发出使用给定局部变量调用 WriteLine 所需的Microsoft中间语言(MSIL)。 |
EmitWriteLine(String) |
发出Microsoft中间语言(MSIL)以使用字符串调用 WriteLine。 |
EndExceptionBlock() |
结束异常块。 |
EndScope() |
结束词法范围。 |
Equals(Object) |
确定指定的对象是否等于当前对象。 (继承自 Object) |
GetHashCode() |
用作默认哈希函数。 (继承自 Object) |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
MarkLabel(Label) |
使用给定标签标记Microsoft中间语言(MSIL)流的当前位置。 |
MarkSequencePoint(ISymbolDocumentWriter, Int32, Int32, Int32, Int32) |
在Microsoft中间语言(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) |
提供对对象公开的属性和方法的访问。 |