System.Reflection.Emit.ILGeneration
帮助生成自定义特性。
已知自定义特性的构造函数和该构造函数的参数,初始化 CustomAttributeBuilder 类的实例。
自定义属性的构造函数。
自定义属性的构造函数的参数。
为静态或私有。- 或 -所提供的参数数量与该构造函数的调用约定所要求的构造函数的参数数量不匹配。- 或 -所提供参数的类型与构造函数中声明的参数类型不匹配。- 或 -提供的参数是引用类型,而不是 或 。
或 为 null。
已知自定义特性的构造函数、该构造函数的参数以及一组命名的字段/值对,初始化 CustomAttributeBuilder 类的实例。
自定义属性的构造函数。
自定义属性的构造函数的参数。
自定义属性的命名字段。
自定义属性的命名字段的值。
和 数组的长度不相同。- 或 - 为静态或私有。- 或 -所提供的参数数量与该构造函数的调用约定所要求的构造函数的参数数量不匹配。- 或 -所提供参数的类型与构造函数中声明的参数类型不匹配。- 或 -字段值的类型与命名字段的类型不匹配。- 或 -该字段不属于与构造函数相同的类或基类。- 或 -提供的参数或命名的字段是引用类型,而不是 或 。
其中一个参数为 null。
已知自定义特性的构造函数、该构造函数的参数以及一组命名的属性/值对,初始化 CustomAttributeBuilder 类的实例。
自定义属性的构造函数。
自定义属性的构造函数的参数。
自定义属性 (Attribute) 的命名属性 (Property)。
自定义属性 (Attribute) 的命名属性 (Property) 的值。
和 数组的长度不相同。- 或 - 为静态或私有。- 或 -所提供的参数数量与该构造函数的调用约定所要求的构造函数的参数数量不匹配。- 或 -所提供参数的类型与构造函数中声明的参数类型不匹配。- 或 -属性值的类型与命名属性的类型不匹配。- 或 -属性没有 setter 方法。- 或 -该属性不属于与构造函数相同的类或基类。- 或 -提供的参数或命名的属性是引用类型,而不是 或 。
其中一个参数为 null。
已知自定义特性的构造函数、该构造函数的参数、一组命名的属性/值对以及一组命名的字段/值对,初始化 CustomAttributeBuilder 类的实例。
自定义属性的构造函数。
自定义属性的构造函数的参数。
自定义属性 (Attribute) 的命名属性 (Property)。
自定义属性 (Attribute) 的命名属性 (Property) 的值。
自定义属性的命名字段。
自定义属性的命名字段的值。
和 数组的长度不相同。- 或 - 和 数组的长度不相同。- 或 - 为静态或私有。- 或 -所提供的参数数量与该构造函数的调用约定所要求的构造函数的参数数量不匹配。- 或 -所提供参数的类型与构造函数中声明的参数类型不匹配。- 或 -属性值的类型与命名属性的类型不匹配。- 或 -字段值的类型与相应的字段类型的类型不匹配。- 或 -属性没有 setter。- 或 -该属性或字段不属于与构造函数相同的类或基类。- 或 -提供的参数、命名的属性或命名的字段是引用类型,而不是 或 。
其中一个参数为 null。
生成 Microsoft 中间语言 (MSIL) 指令。
开始 Catch 块。
表示异常的 对象。
Catch 块在已筛选的异常中。
为 null,并且异常筛选器块没有返回一个值,该值指示在找到此 Catch 块之前一直运行 Finally 块。
要生成的 Microsoft 中间语言 (MSIL) 当前不在异常块中。
开始已筛选异常的异常块。
要生成的 Microsoft 中间语言 (MSIL) 当前不在异常块中。- 或 -此 属于某个 。
开始非筛选异常的异常块。
块结尾的标签。这将使您停在正确的位置执行 Finally 块或完成 Try 块。
在 Microsoft 中间语言 (MSIL) 流中开始一个异常错误块。
生成的 MSIL 当前不在异常块中。- 或 -此 属于某个 。
在 Microsoft 中间语言 (MSIL) 指令流中开始一个 Finally 块。
生成的 MSIL 当前不在异常块中。
开始词法范围。
此 属于某个 。
声明指定类型的局部变量。
已声明的局部变量。
一个 对象,表示局部变量的类型。
为 null。
包含类型已由 方法创建。
声明指定类型的局部变量,还可以选择固定该变量所引用的对象。
一个 对象,表示局部变量。
一个 对象,表示局部变量的类型。
如果要将对象固定在内存中,则为 true;否则为 false。
为 null。
包含类型已由 方法创建。- 或 -封闭方法的方法体已由 方法创建。
与此 关联的方法不由 来表示。
声明新标签。
返回可用作分支标记的新标签。
将指定的指令放到指令流上。
要放到流上的 Microsoft 中间语言 (MSIL) 指令。
将指定的指令和字符参数放在 Microsoft 中间语言 (MSIL) 指令流上。
要放到流上的 MSIL 指令。
紧接着该指令推到流中的字符参数。
将指定的指令和数值参数放在 Microsoft 中间语言 (MSIL) 指令流上。
要放到流上的 MSIL 指令。在 OpCodes 枚举中定义。
紧接着该指令推到流中的数字参数。
将指定的指令和数值参数放在 Microsoft 中间语言 (MSIL) 指令流上。
要发到流中的 MSIL 指令。
紧接着该指令推到流中的 Int 参数。
将指定的指令和数值参数放在 Microsoft 中间语言 (MSIL) 指令流上。
要放到流上的 MSIL 指令。
紧接着该指令推到流中的数字参数。
将指定的指令和数值参数放在 Microsoft 中间语言 (MSIL) 指令流上。
要放到流上的 MSIL 指令。
紧接着该指令推到流中的数字参数。
将指定构造函数的指定指令和元数据标记放到 Microsoft 中间语言 (MSIL) 指令流上。
要发到流中的 MSIL 指令。
表示构造函数的 ConstructorInfo。
为 null。此异常是 .NET Framework 4 中新出现的。
将指定的指令放在 Microsoft 中间语言 (MSIL) 流上,并留出在完成修正时加上标签所需的空白。
要发到流中的 MSIL 指令。
从此位置分支到的标签。
将指定的指令放在 Microsoft 中间语言 (MSIL) 流上,并留出在完成修正时加上标签所需的空白。
要发到流中的 MSIL 指令。
从此位置分支到的标签对象的数组。将使用所有标签。
为 null。此异常是 .NET Framework 4 中新出现的。
将指定的指令放到 Microsoft 中间语言 (MSIL) 流上,后跟给定局部变量的索引。
要发到流中的 MSIL 指令。
局部变量。
参数的父方法与此 关联的方法不匹配。
为 null。
是单字节指令,并且 表示索引大于 Byte.MaxValue 的局部变量。
将指定的指令和签名标记放在 Microsoft 中间语言 (MSIL) 指令流上。
要发到流中的 MSIL 指令。
用于构造签名标记的帮助器。
为 null。
将指定字段的指定指令和元数据标记放到 Microsoft 中间语言 (MSIL) 指令流上。
要发到流中的 MSIL 指令。
表示字段的 FieldInfo。
将指定的指令放到 Microsoft 中间语言 (MSIL) 流上,后跟给定方法的元数据标记。
要发到流中的 MSIL 指令。
表示方法的 MethodInfo。
为 null。
为泛型方法,其 属性为 false。
将指定的指令和字符参数放在 Microsoft 中间语言 (MSIL) 指令流上。
要放到流上的 MSIL 指令。
紧接着该指令推到流中的字符参数。
将指定的指令和数值参数放在 Microsoft 中间语言 (MSIL) 指令流上。
要放到流上的 MSIL 指令。
紧接着该指令推到流上的 Single 参数。
将指定的指令放到 Microsoft 中间语言 (MSIL) 流上,后跟给定字符串的元数据标记。
要发到流中的 MSIL 指令。
要发出的 String。
将指定的指令放到 Microsoft 中间语言 (MSIL) 流上,后跟给定类型的元数据标记。
要放到流上的 MSIL 指令。
Type。
为 null。
将 call 或 callvirt 指令放到 Microsoft 中间语言 (MSIL) 流上,以便调用 varargs 方法。
要发到流中的 MSIL 指令。必须为 、 或 。
要调用的 varargs 方法。
如果该方法是 varargs 方法,则为可选参数的类型;否则为 null。
未指定方法调用。
为 null。
此方法的调用约定不是 varargs,但是提供了可选的参数类型。在 .NET Framework 1.0 版和 1.1 版中会引发此异常。在后续版本中,则不会引发任何异常。
将 指令放到 Microsoft 中间语言 (MSIL) 流,并指定间接调用的托管调用约定。
要发到流中的 MSIL 指令。必须为 。
要使用的托管调用约定。
结果的 。
指令的必选参数的类型。
varargs 调用的可选参数的类型。
不为 null,但 不包括 标志。
发出用给定局部变量调用 所需的 Microsoft 中间语言 (MSIL)。
其值要被写到控制台的局部变量。
的类型为 或 ,这两种类型都不受支持。- 或 -不存在接受 的类型的 重载。
为 null。
发出用给定字段调用 所需的 Microsoft 中间语言 (MSIL)。
其值要被写到控制台的字段。
不存在接受指定字段类型的 方法重载。
为 null。
字段类型为 或 ,这两种类型都不受支持。
发出 Microsoft 中间语言 (MSIL) 以用字符串调用 。
要打印的字符串。
结束异常块。
结束异常块在代码流中的意外位置出现。
要生成的 Microsoft 中间语言 (MSIL) 当前不在异常块中。
结束词法范围。
此 属于某个 。
获取由 发出的 Microsoft 中间语言 (MSIL) 流中的当前偏移量(以字节为单位)。
MSIL 流中的偏移量,将在此处发出下一个指令。
用给定标签标记 Microsoft 中间语言 (MSIL) 流的当前位置。
为其设置索引的标签。
表示标签数组中的无效索引。- 或 -已定义了 的索引。
发出指令以引发异常。
要引发的异常类型的类。
不是 类或 的派生类。- 或 -此类型没有默认的构造函数。
为 null。
指定用于计算当前活动词法范围的局部变量和监视值的命名空间。
用于计算当前活动词法范围的局部变量和监视值的命名空间。
的长度为零。
为 null。
此 属于某个 。
表示指令流中的标签。Label 与 类一起使用。
检查给定对象是否为 Label 的实例和是否等于此实例。
如果 是 Label 的实例并等于此对象,则返回 true;否则返回 false。
与此 Label 实例进行比较的对象。
指示当前实例是否等于指定的 。
如果 的值等于当前实例的值,则为 true;否则为 false。
要与当前实例进行比较的 。
生成此实例的哈希代码。
返回此实例的哈希代码。
指示两个 结构是否等同。
如果 等于 ,则为 true;否则为 false。
要与 进行比较的 。
要与 进行比较的 。
指示两个 结构是否不相等。
如果 不等于 ,则为 true;否则为 false。
要与 进行比较的 。
要与 进行比较的 。
表示方法或构造函数内的局部变量。
获取一个值,该值指示局部变量引用的对象是否固定于内存中。
如果局部变量引用的对象固定于内存中,则为 true;否则为 false。
在方法体中获取局部变量的从零开始的索引。
一个整数值,表示方法体内局部变量的声明顺序。
获取局部变量的类型。
局部变量的 。
创建或关联参数信息。
检索此参数的属性。
只读。检索此参数的属性。
检索这是否为输入参数。
只读。检索这是否为输入参数。
检索此参数是否为可选的。
只读。指定此参数是否为可选的。
检索此参数是否为输出参数。
只读。检索此参数是否为输出参数。
检索此参数的名称。
只读。检索此参数的名称。
检索此参数的签名位置。
只读。检索此参数的签名位置。
设置该参数的默认值。
该参数的默认值。
该参数不是受支持的类型之一。- 或 - 的类型与该参数的类型不匹配。- 或 -该参数的类型为 或其他引用类型,并且 不是 null,该值无法赋给引用类型。
使用指定的自定义属性 Blob 设置自定义属性。
自定义属性的构造函数。
表示属性的字节 Blob。
或 为 null。
使用自定义属性生成器设置自定义属性。
定义自定义属性的帮助器类的实例。
为 null。
提供生成签名的方法。
为签名添加参数。
参数类型。
已完成签名
为 null。
向签名添加指定类型的参数,指定该参数是否固定。
参数类型。
如果参数固定,则为 true;否则为 false。
为 null。
向签名添加具有指定自定义修饰符的参数。
参数类型。
一个表示参数必需的自定义修饰符的类型数组,例如 或 。如果参数没有必需的自定义修饰符,请指定 null。
一个表示参数的可选自定义修饰符的类型数组,例如 或 。如果参数没有可选的自定义修饰符,请指定 null。
为 null。- 或 - 或 的一个元素为 null。
已完成签名- 或 -指定的自定义修饰符之一为数组类型。- 或 -指定的自定义修饰符之一为开放泛型类型。也就是说, 属性对于自定义修饰符为 true。
向签名添加具有指定自定义修饰符的一组参数。
要添加的参数的类型。
由类型数组组成的数组。每个类型数组均表示相应参数所必需的自定义修饰符,例如 或 。如果某个特定参数没有必需的自定义修饰符,请指定 null,而不要指定类型数组。如果所有参数都没有必需的自定义修饰符,请指定 null,而不要指定由数组组成的数组。
由类型数组组成的数组。每个类型数组均表示相应参数的可选自定义修饰符,如 或 。如果某个特定参数没有可选的自定义修饰符,请指定 null,而不要指定类型数组。如果所有参数都没有可选的自定义修饰符,请指定 null,而不要指定由数组组成的数组。
的一个元素为 null。- 或 -其中一个指定的自定义修饰符为 null。(但是,可以为任何参数的自定义修饰符的数组指定 null。)
已完成签名- 或 -指定的自定义修饰符之一为数组类型。- 或 -指定的自定义修饰符之一为开放泛型类型。也就是说, 属性对于自定义修饰符为 true。- 或 - 或 的大小与 的大小不相等。
标记 vararg 固定部分的结尾。这仅在调用方创建 vararg 签名调用站点时使用。
检查该实例是否等于给定对象。
如果给定对象是 SignatureHelper 并且表示同一签名,则为 true;否则为 false。
应与此实例进行比较的对象。
返回字段的签名帮助器。
字段的 SignatureHelper 对象。
包含为其请求 SignatureHelper 的字段的动态模块。
创建并返回此实例的哈希代码。
返回基于名称的哈希代码。
返回局部变量的签名帮助器。
用于局部变量的 。
返回局部变量的签名帮助器。
局部变量的 SignatureHelper 对象。
包含为其请求 SignatureHelper 的局部变量的动态模块。
已知方法的调用约定和返回类型,返回方法的签名帮助器。
方法的 SignatureHelper 对象。
该方法的调用约定。
方法的返回类型,对于 void 返回类型为 null(在 Visual Basic 中为 Sub 过程)。
已知方法的模块、调用约定和返回类型,返回方法的签名帮助器。
方法的 SignatureHelper 对象。
包含为其请求 SignatureHelper 的方法的 。
该方法的调用约定。
方法的返回类型,对于 void 返回类型为 null(在 Visual Basic 中为 Sub 过程)。
为 null。
不是 。
在已知方法的模块、返回类型和参数类型的情况下,返回具有标准调用约定的方法的签名帮助器。
方法的 SignatureHelper 对象。
包含为其请求 SignatureHelper 的方法的 。
方法的返回类型,对于 void 返回类型为 null(在 Visual Basic 中为 Sub 过程)。
方法的参数类型,如果方法没有参数,则为 null。
为 null。- 或 - 的一个元素为 null。
不是 。
在已知包含属性、调用约定、属性类型、属性参数以及返回类型和参数的自定义修饰符的动态模块的情况下,返回属性的签名帮助器。
属性的 对象。
,其中包含为其请求 的属性。
属性访问器的调用约定。
属性类型。
一个表示返回类型必需的自定义修饰符的类型数组,例如 或 。如果返回类型没有必需的自定义修饰符,请指定 null。
一个表示返回类型的可选自定义修饰符的类型数组,例如 或 。如果返回类型没有可选的自定义修饰符,请指定 null。
属性的参数类型,如果属性没有参数,则为 null。
由类型数组组成的数组。每个类型数组均表示属性的相应参数所必需的自定义修饰符。如果某个特定参数没有必需的自定义修饰符,请指定 null,而不要指定类型数组。如果属性没有参数,或者所有参数都没有必需的自定义修饰符,请指定 null,而不要指定由数组组成的数组。
由类型数组组成的数组。每个类型数组均表示属性的相应参数的可选自定义修饰符。如果某个特定参数没有可选的自定义修饰符,请指定 null,而不要指定类型数组。如果属性没有参数,或者所有参数都没有可选的自定义修饰符,请指定 null,而不要指定由数组组成的数组。
为 null。- 或 - 的一个元素为 null。- 或 -其中一个指定的自定义修饰符为 null。(但是,可以为任何参数的自定义修饰符的数组指定 null。)
已完成签名- 或 - 不是 。- 或 -指定的自定义修饰符之一为数组类型。- 或 -指定的自定义修饰符之一为开放泛型类型。也就是说, 属性对于自定义修饰符为 true。- 或 - 或 的大小与 的大小不相等。
在已知包含属性、属性类型和属性参数的动态模块的情况下,返回属性的签名帮助器。
属性的 对象。
,其中包含为其请求 的属性。
属性类型。
参数类型,如果属性没有参数,则为 null。
为 null。- 或 - 的一个元素为 null。
不是 。
在已知包含属性、属性类型、属性参数以及返回类型和参数的自定义修饰符的动态模块的情况下,返回属性的签名帮助器。
属性的 对象。
,其中包含为其请求 的属性。
属性类型。
一个表示返回类型必需的自定义修饰符的类型数组,例如 或 。如果返回类型没有必需的自定义修饰符,请指定 null。
一个表示返回类型的可选自定义修饰符的类型数组,例如 或 。如果返回类型没有可选的自定义修饰符,请指定 null。
属性的参数类型,如果属性没有参数,则为 null。
由类型数组组成的数组。每个类型数组均表示属性的相应参数所必需的自定义修饰符。如果某个特定参数没有必需的自定义修饰符,请指定 null,而不要指定类型数组。如果属性没有参数,或者所有参数都没有必需的自定义修饰符,请指定 null,而不要指定由数组组成的数组。
由类型数组组成的数组。每个类型数组均表示属性的相应参数的可选自定义修饰符。如果某个特定参数没有可选的自定义修饰符,请指定 null,而不要指定类型数组。如果属性没有参数,或者所有参数都没有可选的自定义修饰符,请指定 null,而不要指定由数组组成的数组。
为 null。- 或 - 的一个元素为 null。- 或 -其中一个指定的自定义修饰符为 null。(但是,可以为任何参数的自定义修饰符的数组指定 null。)
已完成签名- 或 - 不是 。- 或 -指定的自定义修饰符之一为数组类型。- 或 -指定的自定义修饰符之一为开放泛型类型。也就是说, 属性对于自定义修饰符为 true。- 或 - 或 的大小与 的大小不相等。
在签名中添加结束标记并将签名标记为已完成,以便不能再添加更多的标记。
返回由完整签名组成的字节数组。
返回表示签名参数的字符串。
返回表示该签名的参数的字符串。