1 <?xml version="1.0" encoding="utf-8"?>
4 <name>System.Reflection.Emit.ILGeneration</name>
7 <member name="T:System.Reflection.Emit.CustomAttributeBuilder">
8 <summary>帮助生成自定义特性。</summary>
10 <member name="M:System.Reflection.Emit.CustomAttributeBuilder.#ctor(System.Reflection.ConstructorInfo,System.Object[])">
11 <summary>已知自定义特性的构造函数和该构造函数的参数,初始化 CustomAttributeBuilder 类的实例。</summary>
12 <param name="con">自定义属性的构造函数。</param>
13 <param name="constructorArgs">自定义属性的构造函数的参数。</param>
14 <exception cref="T:System.ArgumentException">
15 <paramref name="con" /> 为静态或私有。- 或 -所提供的参数数量与该构造函数的调用约定所要求的构造函数的参数数量不匹配。- 或 -所提供参数的类型与构造函数中声明的参数类型不匹配。- 或 -提供的参数是引用类型,而不是 <see cref="T:System.String" /> 或 <see cref="T:System.Type" />。</exception>
16 <exception cref="T:System.ArgumentNullException">
17 <paramref name="con" /> 或 <paramref name="constructorArgs" /> 为 null。</exception>
19 <member name="M:System.Reflection.Emit.CustomAttributeBuilder.#ctor(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.FieldInfo[],System.Object[])">
20 <summary>已知自定义特性的构造函数、该构造函数的参数以及一组命名的字段/值对,初始化 CustomAttributeBuilder 类的实例。</summary>
21 <param name="con">自定义属性的构造函数。</param>
22 <param name="constructorArgs">自定义属性的构造函数的参数。</param>
23 <param name="namedFields">自定义属性的命名字段。</param>
24 <param name="fieldValues">自定义属性的命名字段的值。</param>
25 <exception cref="T:System.ArgumentException">
26 <paramref name="namedFields" /> 和 <paramref name="fieldValues" /> 数组的长度不相同。- 或 -<paramref name="con" /> 为静态或私有。- 或 -所提供的参数数量与该构造函数的调用约定所要求的构造函数的参数数量不匹配。- 或 -所提供参数的类型与构造函数中声明的参数类型不匹配。- 或 -字段值的类型与命名字段的类型不匹配。- 或 -该字段不属于与构造函数相同的类或基类。- 或 -提供的参数或命名的字段是引用类型,而不是 <see cref="T:System.String" /> 或 <see cref="T:System.Type" />。</exception>
27 <exception cref="T:System.ArgumentNullException">其中一个参数为 null。</exception>
29 <member name="M:System.Reflection.Emit.CustomAttributeBuilder.#ctor(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[])">
30 <summary>已知自定义特性的构造函数、该构造函数的参数以及一组命名的属性/值对,初始化 CustomAttributeBuilder 类的实例。</summary>
31 <param name="con">自定义属性的构造函数。</param>
32 <param name="constructorArgs">自定义属性的构造函数的参数。</param>
33 <param name="namedProperties">自定义属性 (Attribute) 的命名属性 (Property)。</param>
34 <param name="propertyValues">自定义属性 (Attribute) 的命名属性 (Property) 的值。</param>
35 <exception cref="T:System.ArgumentException">
36 <paramref name="namedProperties" /> 和 <paramref name="propertyValues" /> 数组的长度不相同。- 或 -<paramref name="con" /> 为静态或私有。- 或 -所提供的参数数量与该构造函数的调用约定所要求的构造函数的参数数量不匹配。- 或 -所提供参数的类型与构造函数中声明的参数类型不匹配。- 或 -属性值的类型与命名属性的类型不匹配。- 或 -属性没有 setter 方法。- 或 -该属性不属于与构造函数相同的类或基类。- 或 -提供的参数或命名的属性是引用类型,而不是 <see cref="T:System.String" /> 或 <see cref="T:System.Type" />。</exception>
37 <exception cref="T:System.ArgumentNullException">其中一个参数为 null。</exception>
39 <member name="M:System.Reflection.Emit.CustomAttributeBuilder.#ctor(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[])">
40 <summary>已知自定义特性的构造函数、该构造函数的参数、一组命名的属性/值对以及一组命名的字段/值对,初始化 CustomAttributeBuilder 类的实例。</summary>
41 <param name="con">自定义属性的构造函数。</param>
42 <param name="constructorArgs">自定义属性的构造函数的参数。</param>
43 <param name="namedProperties">自定义属性 (Attribute) 的命名属性 (Property)。</param>
44 <param name="propertyValues">自定义属性 (Attribute) 的命名属性 (Property) 的值。</param>
45 <param name="namedFields">自定义属性的命名字段。</param>
46 <param name="fieldValues">自定义属性的命名字段的值。</param>
47 <exception cref="T:System.ArgumentException">
48 <paramref name="namedProperties" /> 和 <paramref name="propertyValues" /> 数组的长度不相同。- 或 -<paramref name="namedFields" /> 和 <paramref name="fieldValues" /> 数组的长度不相同。- 或 -<paramref name="con" /> 为静态或私有。- 或 -所提供的参数数量与该构造函数的调用约定所要求的构造函数的参数数量不匹配。- 或 -所提供参数的类型与构造函数中声明的参数类型不匹配。- 或 -属性值的类型与命名属性的类型不匹配。- 或 -字段值的类型与相应的字段类型的类型不匹配。- 或 -属性没有 setter。- 或 -该属性或字段不属于与构造函数相同的类或基类。- 或 -提供的参数、命名的属性或命名的字段是引用类型,而不是 <see cref="T:System.String" /> 或 <see cref="T:System.Type" />。</exception>
49 <exception cref="T:System.ArgumentNullException">其中一个参数为 null。</exception>
51 <member name="T:System.Reflection.Emit.ILGenerator">
52 <summary>生成 Microsoft 中间语言 (MSIL) 指令。</summary>
54 <member name="M:System.Reflection.Emit.ILGenerator.BeginCatchBlock(System.Type)">
55 <summary>开始 Catch 块。</summary>
56 <param name="exceptionType">表示异常的 <see cref="T:System.Type" /> 对象。</param>
57 <exception cref="T:System.ArgumentException">Catch 块在已筛选的异常中。</exception>
58 <exception cref="T:System.ArgumentNullException">
59 <paramref name="exceptionType" /> 为 null,并且异常筛选器块没有返回一个值,该值指示在找到此 Catch 块之前一直运行 Finally 块。</exception>
60 <exception cref="T:System.NotSupportedException">要生成的 Microsoft 中间语言 (MSIL) 当前不在异常块中。</exception>
62 <member name="M:System.Reflection.Emit.ILGenerator.BeginExceptFilterBlock">
63 <summary>开始已筛选异常的异常块。</summary>
64 <exception cref="T:System.NotSupportedException">要生成的 Microsoft 中间语言 (MSIL) 当前不在异常块中。- 或 -此 <see cref="T:System.Reflection.Emit.ILGenerator" /> 属于某个 <see cref="T:System.Reflection.Emit.DynamicMethod" />。</exception>
66 <member name="M:System.Reflection.Emit.ILGenerator.BeginExceptionBlock">
67 <summary>开始非筛选异常的异常块。</summary>
68 <returns>块结尾的标签。这将使您停在正确的位置执行 Finally 块或完成 Try 块。</returns>
70 <member name="M:System.Reflection.Emit.ILGenerator.BeginFaultBlock">
71 <summary>在 Microsoft 中间语言 (MSIL) 流中开始一个异常错误块。</summary>
72 <exception cref="T:System.NotSupportedException">生成的 MSIL 当前不在异常块中。- 或 -此 <see cref="T:System.Reflection.Emit.ILGenerator" /> 属于某个 <see cref="T:System.Reflection.Emit.DynamicMethod" />。</exception>
74 <member name="M:System.Reflection.Emit.ILGenerator.BeginFinallyBlock">
75 <summary>在 Microsoft 中间语言 (MSIL) 指令流中开始一个 Finally 块。</summary>
76 <exception cref="T:System.NotSupportedException">生成的 MSIL 当前不在异常块中。</exception>
78 <member name="M:System.Reflection.Emit.ILGenerator.BeginScope">
79 <summary>开始词法范围。</summary>
80 <exception cref="T:System.NotSupportedException">此 <see cref="T:System.Reflection.Emit.ILGenerator" /> 属于某个 <see cref="T:System.Reflection.Emit.DynamicMethod" />。</exception>
82 <member name="M:System.Reflection.Emit.ILGenerator.DeclareLocal(System.Type)">
83 <summary>声明指定类型的局部变量。</summary>
84 <returns>已声明的局部变量。</returns>
85 <param name="localType">一个 <see cref="T:System.Type" /> 对象,表示局部变量的类型。</param>
86 <exception cref="T:System.ArgumentNullException">
87 <paramref name="localType" /> 为 null。</exception>
88 <exception cref="T:System.InvalidOperationException">包含类型已由 <see cref="M:System.Reflection.Emit.TypeBuilder.CreateType" /> 方法创建。</exception>
90 <member name="M:System.Reflection.Emit.ILGenerator.DeclareLocal(System.Type,System.Boolean)">
91 <summary>声明指定类型的局部变量,还可以选择固定该变量所引用的对象。</summary>
92 <returns>一个 <see cref="T:System.Reflection.Emit.LocalBuilder" /> 对象,表示局部变量。</returns>
93 <param name="localType">一个 <see cref="T:System.Type" /> 对象,表示局部变量的类型。</param>
94 <param name="pinned">如果要将对象固定在内存中,则为 true;否则为 false。</param>
95 <exception cref="T:System.ArgumentNullException">
96 <paramref name="localType" /> 为 null。</exception>
97 <exception cref="T:System.InvalidOperationException">包含类型已由 <see cref="M:System.Reflection.Emit.TypeBuilder.CreateType" /> 方法创建。- 或 -封闭方法的方法体已由 <see cref="M:System.Reflection.Emit.MethodBuilder.CreateMethodBody(System.Byte[],System.Int32)" /> 方法创建。</exception>
98 <exception cref="T:System.NotSupportedException">与此 <see cref="T:System.Reflection.Emit.ILGenerator" /> 关联的方法不由 <see cref="T:System.Reflection.Emit.MethodBuilder" /> 来表示。</exception>
100 <member name="M:System.Reflection.Emit.ILGenerator.DefineLabel">
101 <summary>声明新标签。</summary>
102 <returns>返回可用作分支标记的新标签。</returns>
104 <member name="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode)">
105 <summary>将指定的指令放到指令流上。</summary>
106 <param name="opcode">要放到流上的 Microsoft 中间语言 (MSIL) 指令。</param>
108 <member name="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Byte)">
109 <summary>将指定的指令和字符参数放在 Microsoft 中间语言 (MSIL) 指令流上。</summary>
110 <param name="opcode">要放到流上的 MSIL 指令。</param>
111 <param name="arg">紧接着该指令推到流中的字符参数。</param>
113 <member name="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Double)">
114 <summary>将指定的指令和数值参数放在 Microsoft 中间语言 (MSIL) 指令流上。</summary>
115 <param name="opcode">要放到流上的 MSIL 指令。在 OpCodes 枚举中定义。</param>
116 <param name="arg">紧接着该指令推到流中的数字参数。</param>
118 <member name="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Int16)">
119 <summary>将指定的指令和数值参数放在 Microsoft 中间语言 (MSIL) 指令流上。</summary>
120 <param name="opcode">要发到流中的 MSIL 指令。</param>
121 <param name="arg">紧接着该指令推到流中的 Int 参数。</param>
123 <member name="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Int32)">
124 <summary>将指定的指令和数值参数放在 Microsoft 中间语言 (MSIL) 指令流上。</summary>
125 <param name="opcode">要放到流上的 MSIL 指令。</param>
126 <param name="arg">紧接着该指令推到流中的数字参数。</param>
128 <member name="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Int64)">
129 <summary>将指定的指令和数值参数放在 Microsoft 中间语言 (MSIL) 指令流上。</summary>
130 <param name="opcode">要放到流上的 MSIL 指令。</param>
131 <param name="arg">紧接着该指令推到流中的数字参数。</param>
133 <member name="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.ConstructorInfo)">
134 <summary>将指定构造函数的指定指令和元数据标记放到 Microsoft 中间语言 (MSIL) 指令流上。</summary>
135 <param name="opcode">要发到流中的 MSIL 指令。</param>
136 <param name="con">表示构造函数的 ConstructorInfo。</param>
137 <exception cref="T:System.ArgumentNullException">
138 <paramref name="con" /> 为 null。此异常是 .NET Framework 4 中新出现的。</exception>
140 <member name="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label)">
141 <summary>将指定的指令放在 Microsoft 中间语言 (MSIL) 流上,并留出在完成修正时加上标签所需的空白。</summary>
142 <param name="opcode">要发到流中的 MSIL 指令。</param>
143 <param name="label">从此位置分支到的标签。</param>
145 <member name="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.Label[])">
146 <summary>将指定的指令放在 Microsoft 中间语言 (MSIL) 流上,并留出在完成修正时加上标签所需的空白。</summary>
147 <param name="opcode">要发到流中的 MSIL 指令。</param>
148 <param name="labels">从此位置分支到的标签对象的数组。将使用所有标签。</param>
149 <exception cref="T:System.ArgumentNullException">
150 <paramref name="con" /> 为 null。此异常是 .NET Framework 4 中新出现的。</exception>
152 <member name="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.LocalBuilder)">
153 <summary>将指定的指令放到 Microsoft 中间语言 (MSIL) 流上,后跟给定局部变量的索引。</summary>
154 <param name="opcode">要发到流中的 MSIL 指令。</param>
155 <param name="local">局部变量。</param>
156 <exception cref="T:System.ArgumentException">
157 <paramref name="local" /> 参数的父方法与此 <see cref="T:System.Reflection.Emit.ILGenerator" /> 关联的方法不匹配。</exception>
158 <exception cref="T:System.ArgumentNullException">
159 <paramref name="local" /> 为 null。</exception>
160 <exception cref="T:System.InvalidOperationException">
161 <paramref name="opcode" /> 是单字节指令,并且 <paramref name="local" /> 表示索引大于 Byte.MaxValue 的局部变量。</exception>
163 <member name="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.Emit.SignatureHelper)">
164 <summary>将指定的指令和签名标记放在 Microsoft 中间语言 (MSIL) 指令流上。</summary>
165 <param name="opcode">要发到流中的 MSIL 指令。</param>
166 <param name="signature">用于构造签名标记的帮助器。</param>
167 <exception cref="T:System.ArgumentNullException">
168 <paramref name="signature" /> 为 null。</exception>
170 <member name="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.FieldInfo)">
171 <summary>将指定字段的指定指令和元数据标记放到 Microsoft 中间语言 (MSIL) 指令流上。</summary>
172 <param name="opcode">要发到流中的 MSIL 指令。</param>
173 <param name="field">表示字段的 FieldInfo。</param>
175 <member name="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Reflection.MethodInfo)">
176 <summary>将指定的指令放到 Microsoft 中间语言 (MSIL) 流上,后跟给定方法的元数据标记。</summary>
177 <param name="opcode">要发到流中的 MSIL 指令。</param>
178 <param name="meth">表示方法的 MethodInfo。</param>
179 <exception cref="T:System.ArgumentNullException">
180 <paramref name="meth" /> 为 null。</exception>
181 <exception cref="T:System.NotSupportedException">
182 <paramref name="meth" /> 为泛型方法,其 <see cref="P:System.Reflection.MethodInfo.IsGenericMethodDefinition" /> 属性为 false。</exception>
184 <member name="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.SByte)">
185 <summary>将指定的指令和字符参数放在 Microsoft 中间语言 (MSIL) 指令流上。</summary>
186 <param name="opcode">要放到流上的 MSIL 指令。</param>
187 <param name="arg">紧接着该指令推到流中的字符参数。</param>
189 <member name="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Single)">
190 <summary>将指定的指令和数值参数放在 Microsoft 中间语言 (MSIL) 指令流上。</summary>
191 <param name="opcode">要放到流上的 MSIL 指令。</param>
192 <param name="arg">紧接着该指令推到流上的 Single 参数。</param>
194 <member name="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.String)">
195 <summary>将指定的指令放到 Microsoft 中间语言 (MSIL) 流上,后跟给定字符串的元数据标记。</summary>
196 <param name="opcode">要发到流中的 MSIL 指令。</param>
197 <param name="str">要发出的 String。</param>
199 <member name="M:System.Reflection.Emit.ILGenerator.Emit(System.Reflection.Emit.OpCode,System.Type)">
200 <summary>将指定的指令放到 Microsoft 中间语言 (MSIL) 流上,后跟给定类型的元数据标记。</summary>
201 <param name="opcode">要放到流上的 MSIL 指令。</param>
202 <param name="cls">Type。</param>
203 <exception cref="T:System.ArgumentNullException">
204 <paramref name="cls" /> 为 null。</exception>
206 <member name="M:System.Reflection.Emit.ILGenerator.EmitCall(System.Reflection.Emit.OpCode,System.Reflection.MethodInfo,System.Type[])">
207 <summary>将 call 或 callvirt 指令放到 Microsoft 中间语言 (MSIL) 流上,以便调用 varargs 方法。</summary>
208 <param name="opcode">要发到流中的 MSIL 指令。必须为 <see cref="F:System.Reflection.Emit.OpCodes.Call" />、<see cref="F:System.Reflection.Emit.OpCodes.Callvirt" /> 或 <see cref="F:System.Reflection.Emit.OpCodes.Newobj" />。</param>
209 <param name="methodInfo">要调用的 varargs 方法。</param>
210 <param name="optionalParameterTypes">如果该方法是 varargs 方法,则为可选参数的类型;否则为 null。</param>
211 <exception cref="T:System.ArgumentException">
212 <paramref name="opcode" /> 未指定方法调用。</exception>
213 <exception cref="T:System.ArgumentNullException">
214 <paramref name="methodInfo" /> 为 null。</exception>
215 <exception cref="T:System.InvalidOperationException">此方法的调用约定不是 varargs,但是提供了可选的参数类型。在 .NET Framework 1.0 版和 1.1 版中会引发此异常。在后续版本中,则不会引发任何异常。</exception>
217 <member name="M:System.Reflection.Emit.ILGenerator.EmitCalli(System.Reflection.Emit.OpCode,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[])">
218 <summary>将 <see cref="F:System.Reflection.Emit.OpCodes.Calli" /> 指令放到 Microsoft 中间语言 (MSIL) 流,并指定间接调用的托管调用约定。</summary>
219 <param name="opcode">要发到流中的 MSIL 指令。必须为 <see cref="F:System.Reflection.Emit.OpCodes.Calli" />。</param>
220 <param name="callingConvention">要使用的托管调用约定。</param>
221 <param name="returnType">结果的 <see cref="T:System.Type" />。</param>
222 <param name="parameterTypes">指令的必选参数的类型。</param>
223 <param name="optionalParameterTypes">varargs 调用的可选参数的类型。</param>
224 <exception cref="T:System.InvalidOperationException">
225 <paramref name="optionalParameterTypes" /> 不为 null,但 <paramref name="callingConvention" /> 不包括 <see cref="F:System.Reflection.CallingConventions.VarArgs" /> 标志。</exception>
227 <member name="M:System.Reflection.Emit.ILGenerator.EmitWriteLine(System.Reflection.Emit.LocalBuilder)">
228 <summary>发出用给定局部变量调用 <see cref="Overload:System.Console.WriteLine" /> 所需的 Microsoft 中间语言 (MSIL)。</summary>
229 <param name="localBuilder">其值要被写到控制台的局部变量。</param>
230 <exception cref="T:System.ArgumentException">
231 <paramref name="localBuilder" /> 的类型为 <see cref="T:System.Reflection.Emit.TypeBuilder" /> 或 <see cref="T:System.Reflection.Emit.EnumBuilder" />,这两种类型都不受支持。- 或 -不存在接受 <paramref name="localBuilder" /> 的类型的 <see cref="Overload:System.Console.WriteLine" /> 重载。</exception>
232 <exception cref="T:System.ArgumentNullException">
233 <paramref name="localBuilder" /> 为 null。</exception>
235 <member name="M:System.Reflection.Emit.ILGenerator.EmitWriteLine(System.Reflection.FieldInfo)">
236 <summary>发出用给定字段调用 <see cref="Overload:System.Console.WriteLine" /> 所需的 Microsoft 中间语言 (MSIL)。</summary>
237 <param name="fld">其值要被写到控制台的字段。</param>
238 <exception cref="T:System.ArgumentException">不存在接受指定字段类型的 <see cref="Overload:System.Console.WriteLine" /> 方法重载。</exception>
239 <exception cref="T:System.ArgumentNullException">
240 <paramref name="fld" /> 为 null。</exception>
241 <exception cref="T:System.NotSupportedException">字段类型为 <see cref="T:System.Reflection.Emit.TypeBuilder" /> 或 <see cref="T:System.Reflection.Emit.EnumBuilder" />,这两种类型都不受支持。</exception>
243 <member name="M:System.Reflection.Emit.ILGenerator.EmitWriteLine(System.String)">
244 <summary>发出 Microsoft 中间语言 (MSIL) 以用字符串调用 <see cref="Overload:System.Console.WriteLine" />。</summary>
245 <param name="value">要打印的字符串。</param>
247 <member name="M:System.Reflection.Emit.ILGenerator.EndExceptionBlock">
248 <summary>结束异常块。</summary>
249 <exception cref="T:System.InvalidOperationException">结束异常块在代码流中的意外位置出现。</exception>
250 <exception cref="T:System.NotSupportedException">要生成的 Microsoft 中间语言 (MSIL) 当前不在异常块中。</exception>
252 <member name="M:System.Reflection.Emit.ILGenerator.EndScope">
253 <summary>结束词法范围。</summary>
254 <exception cref="T:System.NotSupportedException">此 <see cref="T:System.Reflection.Emit.ILGenerator" /> 属于某个 <see cref="T:System.Reflection.Emit.DynamicMethod" />。</exception>
256 <member name="P:System.Reflection.Emit.ILGenerator.ILOffset">
257 <summary>获取由 <see cref="T:System.Reflection.Emit.ILGenerator" /> 发出的 Microsoft 中间语言 (MSIL) 流中的当前偏移量(以字节为单位)。</summary>
258 <returns>MSIL 流中的偏移量,将在此处发出下一个指令。</returns>
260 <member name="M:System.Reflection.Emit.ILGenerator.MarkLabel(System.Reflection.Emit.Label)">
261 <summary>用给定标签标记 Microsoft 中间语言 (MSIL) 流的当前位置。</summary>
262 <param name="loc">为其设置索引的标签。</param>
263 <exception cref="T:System.ArgumentException">
264 <paramref name="loc" /> 表示标签数组中的无效索引。- 或 -已定义了 <paramref name="loc" /> 的索引。</exception>
266 <member name="M:System.Reflection.Emit.ILGenerator.ThrowException(System.Type)">
267 <summary>发出指令以引发异常。</summary>
268 <param name="excType">要引发的异常类型的类。</param>
269 <exception cref="T:System.ArgumentException">
270 <paramref name="excType" /> 不是 <see cref="T:System.Exception" /> 类或 <see cref="T:System.Exception" /> 的派生类。- 或 -此类型没有默认的构造函数。</exception>
271 <exception cref="T:System.ArgumentNullException">
272 <paramref name="excType" /> 为 null。</exception>
274 <member name="M:System.Reflection.Emit.ILGenerator.UsingNamespace(System.String)">
275 <summary>指定用于计算当前活动词法范围的局部变量和监视值的命名空间。</summary>
276 <param name="usingNamespace">用于计算当前活动词法范围的局部变量和监视值的命名空间。</param>
277 <exception cref="T:System.ArgumentException">
278 <paramref name="usingNamespace" /> 的长度为零。</exception>
279 <exception cref="T:System.ArgumentNullException">
280 <paramref name="usingNamespace" /> 为 null。</exception>
281 <exception cref="T:System.NotSupportedException">此 <see cref="T:System.Reflection.Emit.ILGenerator" /> 属于某个 <see cref="T:System.Reflection.Emit.DynamicMethod" />。</exception>
283 <member name="T:System.Reflection.Emit.Label">
284 <summary>表示指令流中的标签。Label 与 <see cref="T:System.Reflection.Emit.ILGenerator" /> 类一起使用。</summary>
286 <member name="M:System.Reflection.Emit.Label.Equals(System.Object)">
287 <summary>检查给定对象是否为 Label 的实例和是否等于此实例。</summary>
288 <returns>如果 <paramref name="obj" /> 是 Label 的实例并等于此对象,则返回 true;否则返回 false。</returns>
289 <param name="obj">与此 Label 实例进行比较的对象。</param>
291 <member name="M:System.Reflection.Emit.Label.Equals(System.Reflection.Emit.Label)">
292 <summary>指示当前实例是否等于指定的 <see cref="T:System.Reflection.Emit.Label" />。</summary>
293 <returns>如果 <paramref name="obj" /> 的值等于当前实例的值,则为 true;否则为 false。</returns>
294 <param name="obj">要与当前实例进行比较的 <see cref="T:System.Reflection.Emit.Label" />。</param>
296 <member name="M:System.Reflection.Emit.Label.GetHashCode">
297 <summary>生成此实例的哈希代码。</summary>
298 <returns>返回此实例的哈希代码。</returns>
300 <member name="M:System.Reflection.Emit.Label.op_Equality(System.Reflection.Emit.Label,System.Reflection.Emit.Label)">
301 <summary>指示两个 <see cref="T:System.Reflection.Emit.Label" /> 结构是否等同。</summary>
302 <returns>如果 <paramref name="a" /> 等于 <paramref name="b" />,则为 true;否则为 false。</returns>
303 <param name="a">要与 <paramref name="b" /> 进行比较的 <see cref="T:System.Reflection.Emit.Label" />。</param>
304 <param name="b">要与 <paramref name="a" /> 进行比较的 <see cref="T:System.Reflection.Emit.Label" />。</param>
306 <member name="M:System.Reflection.Emit.Label.op_Inequality(System.Reflection.Emit.Label,System.Reflection.Emit.Label)">
307 <summary>指示两个 <see cref="T:System.Reflection.Emit.Label" /> 结构是否不相等。</summary>
308 <returns>如果 <paramref name="a" /> 不等于 <paramref name="b" />,则为 true;否则为 false。</returns>
309 <param name="a">要与 <paramref name="b" /> 进行比较的 <see cref="T:System.Reflection.Emit.Label" />。</param>
310 <param name="b">要与 <paramref name="a" /> 进行比较的 <see cref="T:System.Reflection.Emit.Label" />。</param>
312 <member name="T:System.Reflection.Emit.LocalBuilder">
313 <summary>表示方法或构造函数内的局部变量。</summary>
315 <member name="P:System.Reflection.Emit.LocalBuilder.IsPinned">
316 <summary>获取一个值,该值指示局部变量引用的对象是否固定于内存中。</summary>
317 <returns>如果局部变量引用的对象固定于内存中,则为 true;否则为 false。</returns>
319 <member name="P:System.Reflection.Emit.LocalBuilder.LocalIndex">
320 <summary>在方法体中获取局部变量的从零开始的索引。</summary>
321 <returns>一个整数值,表示方法体内局部变量的声明顺序。</returns>
323 <member name="P:System.Reflection.Emit.LocalBuilder.LocalType">
324 <summary>获取局部变量的类型。</summary>
325 <returns>局部变量的 <see cref="T:System.Type" />。</returns>
327 <member name="T:System.Reflection.Emit.ParameterBuilder">
328 <summary>创建或关联参数信息。</summary>
330 <member name="P:System.Reflection.Emit.ParameterBuilder.Attributes">
331 <summary>检索此参数的属性。</summary>
332 <returns>只读。检索此参数的属性。</returns>
334 <member name="P:System.Reflection.Emit.ParameterBuilder.IsIn">
335 <summary>检索这是否为输入参数。</summary>
336 <returns>只读。检索这是否为输入参数。</returns>
338 <member name="P:System.Reflection.Emit.ParameterBuilder.IsOptional">
339 <summary>检索此参数是否为可选的。</summary>
340 <returns>只读。指定此参数是否为可选的。</returns>
342 <member name="P:System.Reflection.Emit.ParameterBuilder.IsOut">
343 <summary>检索此参数是否为输出参数。</summary>
344 <returns>只读。检索此参数是否为输出参数。</returns>
346 <member name="P:System.Reflection.Emit.ParameterBuilder.Name">
347 <summary>检索此参数的名称。</summary>
348 <returns>只读。检索此参数的名称。</returns>
350 <member name="P:System.Reflection.Emit.ParameterBuilder.Position">
351 <summary>检索此参数的签名位置。</summary>
352 <returns>只读。检索此参数的签名位置。</returns>
354 <member name="M:System.Reflection.Emit.ParameterBuilder.SetConstant(System.Object)">
355 <summary>设置该参数的默认值。</summary>
356 <param name="defaultValue">该参数的默认值。</param>
357 <exception cref="T:System.ArgumentException">该参数不是受支持的类型之一。- 或 -<paramref name="defaultValue" /> 的类型与该参数的类型不匹配。- 或 -该参数的类型为 <see cref="T:System.Object" /> 或其他引用类型,并且 <paramref name="defaultValue" /> 不是 null,该值无法赋给引用类型。</exception>
359 <member name="M:System.Reflection.Emit.ParameterBuilder.SetCustomAttribute(System.Reflection.ConstructorInfo,System.Byte[])">
360 <summary>使用指定的自定义属性 Blob 设置自定义属性。</summary>
361 <param name="con">自定义属性的构造函数。</param>
362 <param name="binaryAttribute">表示属性的字节 Blob。</param>
363 <exception cref="T:System.ArgumentNullException">
364 <paramref name="con" /> 或 <paramref name="binaryAttribute" /> 为 null。</exception>
366 <member name="M:System.Reflection.Emit.ParameterBuilder.SetCustomAttribute(System.Reflection.Emit.CustomAttributeBuilder)">
367 <summary>使用自定义属性生成器设置自定义属性。</summary>
368 <param name="customBuilder">定义自定义属性的帮助器类的实例。</param>
369 <exception cref="T:System.ArgumentNullException">
370 <paramref name="con" /> 为 null。</exception>
372 <member name="T:System.Reflection.Emit.SignatureHelper">
373 <summary>提供生成签名的方法。</summary>
375 <member name="M:System.Reflection.Emit.SignatureHelper.AddArgument(System.Type)">
376 <summary>为签名添加参数。</summary>
377 <param name="clsArgument">参数类型。</param>
378 <exception cref="T:System.ArgumentException">已完成签名</exception>
379 <exception cref="T:System.ArgumentNullException">
380 <paramref name="clsArgument" /> 为 null。</exception>
382 <member name="M:System.Reflection.Emit.SignatureHelper.AddArgument(System.Type,System.Boolean)">
383 <summary>向签名添加指定类型的参数,指定该参数是否固定。</summary>
384 <param name="argument">参数类型。</param>
385 <param name="pinned">如果参数固定,则为 true;否则为 false。</param>
386 <exception cref="T:System.ArgumentNullException">
387 <paramref name="argument" /> 为 null。</exception>
389 <member name="M:System.Reflection.Emit.SignatureHelper.AddArgument(System.Type,System.Type[],System.Type[])">
390 <summary>向签名添加具有指定自定义修饰符的参数。</summary>
391 <param name="argument">参数类型。</param>
392 <param name="requiredCustomModifiers">一个表示参数必需的自定义修饰符的类型数组,例如 <see cref="T:System.Runtime.CompilerServices.IsConst" /> 或 <see cref="T:System.Runtime.CompilerServices.IsBoxed" />。如果参数没有必需的自定义修饰符,请指定 null。</param>
393 <param name="optionalCustomModifiers">一个表示参数的可选自定义修饰符的类型数组,例如 <see cref="T:System.Runtime.CompilerServices.IsConst" /> 或 <see cref="T:System.Runtime.CompilerServices.IsBoxed" />。如果参数没有可选的自定义修饰符,请指定 null。</param>
394 <exception cref="T:System.ArgumentNullException">
395 <paramref name="argument" /> 为 null。- 或 -<paramref name="requiredCustomModifiers" /> 或 <paramref name="optionalCustomModifiers" /> 的一个元素为 null。</exception>
396 <exception cref="T:System.ArgumentException">已完成签名- 或 -指定的自定义修饰符之一为数组类型。- 或 -指定的自定义修饰符之一为开放泛型类型。也就是说,<see cref="P:System.Type.ContainsGenericParameters" /> 属性对于自定义修饰符为 true。</exception>
398 <member name="M:System.Reflection.Emit.SignatureHelper.AddArguments(System.Type[],System.Type[][],System.Type[][])">
399 <summary>向签名添加具有指定自定义修饰符的一组参数。</summary>
400 <param name="arguments">要添加的参数的类型。</param>
401 <param name="requiredCustomModifiers">由类型数组组成的数组。每个类型数组均表示相应参数所必需的自定义修饰符,例如 <see cref="T:System.Runtime.CompilerServices.IsConst" /> 或 <see cref="T:System.Runtime.CompilerServices.IsBoxed" />。如果某个特定参数没有必需的自定义修饰符,请指定 null,而不要指定类型数组。如果所有参数都没有必需的自定义修饰符,请指定 null,而不要指定由数组组成的数组。</param>
402 <param name="optionalCustomModifiers">由类型数组组成的数组。每个类型数组均表示相应参数的可选自定义修饰符,如 <see cref="T:System.Runtime.CompilerServices.IsConst" /> 或 <see cref="T:System.Runtime.CompilerServices.IsBoxed" />。如果某个特定参数没有可选的自定义修饰符,请指定 null,而不要指定类型数组。如果所有参数都没有可选的自定义修饰符,请指定 null,而不要指定由数组组成的数组。</param>
403 <exception cref="T:System.ArgumentNullException">
404 <paramref name="arguments" /> 的一个元素为 null。- 或 -其中一个指定的自定义修饰符为 null。(但是,可以为任何参数的自定义修饰符的数组指定 null。)</exception>
405 <exception cref="T:System.ArgumentException">已完成签名- 或 -指定的自定义修饰符之一为数组类型。- 或 -指定的自定义修饰符之一为开放泛型类型。也就是说,<see cref="P:System.Type.ContainsGenericParameters" /> 属性对于自定义修饰符为 true。- 或 -<paramref name="requiredCustomModifiers" /> 或 <paramref name="optionalCustomModifiers" /> 的大小与 <paramref name="arguments" /> 的大小不相等。</exception>
407 <member name="M:System.Reflection.Emit.SignatureHelper.AddSentinel">
408 <summary>标记 vararg 固定部分的结尾。这仅在调用方创建 vararg 签名调用站点时使用。</summary>
410 <member name="M:System.Reflection.Emit.SignatureHelper.Equals(System.Object)">
411 <summary>检查该实例是否等于给定对象。</summary>
412 <returns>如果给定对象是 SignatureHelper 并且表示同一签名,则为 true;否则为 false。</returns>
413 <param name="obj">应与此实例进行比较的对象。</param>
415 <member name="M:System.Reflection.Emit.SignatureHelper.GetFieldSigHelper(System.Reflection.Module)">
416 <summary>返回字段的签名帮助器。</summary>
417 <returns>字段的 SignatureHelper 对象。</returns>
418 <param name="mod">包含为其请求 SignatureHelper 的字段的动态模块。</param>
420 <member name="M:System.Reflection.Emit.SignatureHelper.GetHashCode">
421 <summary>创建并返回此实例的哈希代码。</summary>
422 <returns>返回基于名称的哈希代码。</returns>
424 <member name="M:System.Reflection.Emit.SignatureHelper.GetLocalVarSigHelper">
425 <summary>返回局部变量的签名帮助器。</summary>
426 <returns>用于局部变量的 <see cref="T:System.Reflection.Emit.SignatureHelper" />。</returns>
428 <member name="M:System.Reflection.Emit.SignatureHelper.GetLocalVarSigHelper(System.Reflection.Module)">
429 <summary>返回局部变量的签名帮助器。</summary>
430 <returns>局部变量的 SignatureHelper 对象。</returns>
431 <param name="mod">包含为其请求 SignatureHelper 的局部变量的动态模块。</param>
433 <member name="M:System.Reflection.Emit.SignatureHelper.GetMethodSigHelper(System.Reflection.CallingConventions,System.Type)">
434 <summary>已知方法的调用约定和返回类型,返回方法的签名帮助器。</summary>
435 <returns>方法的 SignatureHelper 对象。</returns>
436 <param name="callingConvention">该方法的调用约定。</param>
437 <param name="returnType">方法的返回类型,对于 void 返回类型为 null(在 Visual Basic 中为 Sub 过程)。</param>
439 <member name="M:System.Reflection.Emit.SignatureHelper.GetMethodSigHelper(System.Reflection.Module,System.Reflection.CallingConventions,System.Type)">
440 <summary>已知方法的模块、调用约定和返回类型,返回方法的签名帮助器。</summary>
441 <returns>方法的 SignatureHelper 对象。</returns>
442 <param name="mod">包含为其请求 SignatureHelper 的方法的 <see cref="T:System.Reflection.Emit.ModuleBuilder" />。</param>
443 <param name="callingConvention">该方法的调用约定。</param>
444 <param name="returnType">方法的返回类型,对于 void 返回类型为 null(在 Visual Basic 中为 Sub 过程)。</param>
445 <exception cref="T:System.ArgumentNullException">
446 <paramref name="mod" /> 为 null。</exception>
447 <exception cref="T:System.ArgumentException">
448 <paramref name="mod" /> 不是 <see cref="T:System.Reflection.Emit.ModuleBuilder" />。</exception>
450 <member name="M:System.Reflection.Emit.SignatureHelper.GetMethodSigHelper(System.Reflection.Module,System.Type,System.Type[])">
451 <summary>在已知方法的模块、返回类型和参数类型的情况下,返回具有标准调用约定的方法的签名帮助器。</summary>
452 <returns>方法的 SignatureHelper 对象。</returns>
453 <param name="mod">包含为其请求 SignatureHelper 的方法的 <see cref="T:System.Reflection.Emit.ModuleBuilder" />。</param>
454 <param name="returnType">方法的返回类型,对于 void 返回类型为 null(在 Visual Basic 中为 Sub 过程)。</param>
455 <param name="parameterTypes">方法的参数类型,如果方法没有参数,则为 null。</param>
456 <exception cref="T:System.ArgumentNullException">
457 <paramref name="mod" /> 为 null。- 或 -<paramref name="parameterTypes" /> 的一个元素为 null。</exception>
458 <exception cref="T:System.ArgumentException">
459 <paramref name="mod" /> 不是 <see cref="T:System.Reflection.Emit.ModuleBuilder" />。</exception>
461 <member name="M:System.Reflection.Emit.SignatureHelper.GetPropertySigHelper(System.Reflection.Module,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][])">
462 <summary>在已知包含属性、调用约定、属性类型、属性参数以及返回类型和参数的自定义修饰符的动态模块的情况下,返回属性的签名帮助器。</summary>
463 <returns>属性的 <see cref="T:System.Reflection.Emit.SignatureHelper" /> 对象。</returns>
465 <see cref="T:System.Reflection.Emit.ModuleBuilder" />,其中包含为其请求 <see cref="T:System.Reflection.Emit.SignatureHelper" /> 的属性。</param>
466 <param name="callingConvention">属性访问器的调用约定。</param>
467 <param name="returnType">属性类型。</param>
468 <param name="requiredReturnTypeCustomModifiers">一个表示返回类型必需的自定义修饰符的类型数组,例如 <see cref="T:System.Runtime.CompilerServices.IsConst" /> 或 <see cref="T:System.Runtime.CompilerServices.IsBoxed" />。如果返回类型没有必需的自定义修饰符,请指定 null。</param>
469 <param name="optionalReturnTypeCustomModifiers">一个表示返回类型的可选自定义修饰符的类型数组,例如 <see cref="T:System.Runtime.CompilerServices.IsConst" /> 或 <see cref="T:System.Runtime.CompilerServices.IsBoxed" />。如果返回类型没有可选的自定义修饰符,请指定 null。</param>
470 <param name="parameterTypes">属性的参数类型,如果属性没有参数,则为 null。</param>
471 <param name="requiredParameterTypeCustomModifiers">由类型数组组成的数组。每个类型数组均表示属性的相应参数所必需的自定义修饰符。如果某个特定参数没有必需的自定义修饰符,请指定 null,而不要指定类型数组。如果属性没有参数,或者所有参数都没有必需的自定义修饰符,请指定 null,而不要指定由数组组成的数组。</param>
472 <param name="optionalParameterTypeCustomModifiers">由类型数组组成的数组。每个类型数组均表示属性的相应参数的可选自定义修饰符。如果某个特定参数没有可选的自定义修饰符,请指定 null,而不要指定类型数组。如果属性没有参数,或者所有参数都没有可选的自定义修饰符,请指定 null,而不要指定由数组组成的数组。</param>
473 <exception cref="T:System.ArgumentNullException">
474 <paramref name="mod" /> 为 null。- 或 -<paramref name="parameterTypes" /> 的一个元素为 null。- 或 -其中一个指定的自定义修饰符为 null。(但是,可以为任何参数的自定义修饰符的数组指定 null。)</exception>
475 <exception cref="T:System.ArgumentException">已完成签名- 或 -<paramref name="mod" /> 不是 <see cref="T:System.Reflection.Emit.ModuleBuilder" />。- 或 -指定的自定义修饰符之一为数组类型。- 或 -指定的自定义修饰符之一为开放泛型类型。也就是说,<see cref="P:System.Type.ContainsGenericParameters" /> 属性对于自定义修饰符为 true。- 或 -<paramref name="requiredParameterTypeCustomModifiers" /> 或 <paramref name="optionalParameterTypeCustomModifiers" /> 的大小与 <paramref name="parameterTypes" /> 的大小不相等。</exception>
477 <member name="M:System.Reflection.Emit.SignatureHelper.GetPropertySigHelper(System.Reflection.Module,System.Type,System.Type[])">
478 <summary>在已知包含属性、属性类型和属性参数的动态模块的情况下,返回属性的签名帮助器。</summary>
479 <returns>属性的 <see cref="T:System.Reflection.Emit.SignatureHelper" /> 对象。</returns>
481 <see cref="T:System.Reflection.Emit.ModuleBuilder" />,其中包含为其请求 <see cref="T:System.Reflection.Emit.SignatureHelper" /> 的属性。</param>
482 <param name="returnType">属性类型。</param>
483 <param name="parameterTypes">参数类型,如果属性没有参数,则为 null。</param>
484 <exception cref="T:System.ArgumentNullException">
485 <paramref name="mod" /> 为 null。- 或 -<paramref name="parameterTypes" /> 的一个元素为 null。</exception>
486 <exception cref="T:System.ArgumentException">
487 <paramref name="mod" /> 不是 <see cref="T:System.Reflection.Emit.ModuleBuilder" />。</exception>
489 <member name="M:System.Reflection.Emit.SignatureHelper.GetPropertySigHelper(System.Reflection.Module,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][])">
490 <summary>在已知包含属性、属性类型、属性参数以及返回类型和参数的自定义修饰符的动态模块的情况下,返回属性的签名帮助器。</summary>
491 <returns>属性的 <see cref="T:System.Reflection.Emit.SignatureHelper" /> 对象。</returns>
493 <see cref="T:System.Reflection.Emit.ModuleBuilder" />,其中包含为其请求 <see cref="T:System.Reflection.Emit.SignatureHelper" /> 的属性。</param>
494 <param name="returnType">属性类型。</param>
495 <param name="requiredReturnTypeCustomModifiers">一个表示返回类型必需的自定义修饰符的类型数组,例如 <see cref="T:System.Runtime.CompilerServices.IsConst" /> 或 <see cref="T:System.Runtime.CompilerServices.IsBoxed" />。如果返回类型没有必需的自定义修饰符,请指定 null。</param>
496 <param name="optionalReturnTypeCustomModifiers">一个表示返回类型的可选自定义修饰符的类型数组,例如 <see cref="T:System.Runtime.CompilerServices.IsConst" /> 或 <see cref="T:System.Runtime.CompilerServices.IsBoxed" />。如果返回类型没有可选的自定义修饰符,请指定 null。</param>
497 <param name="parameterTypes">属性的参数类型,如果属性没有参数,则为 null。</param>
498 <param name="requiredParameterTypeCustomModifiers">由类型数组组成的数组。每个类型数组均表示属性的相应参数所必需的自定义修饰符。如果某个特定参数没有必需的自定义修饰符,请指定 null,而不要指定类型数组。如果属性没有参数,或者所有参数都没有必需的自定义修饰符,请指定 null,而不要指定由数组组成的数组。</param>
499 <param name="optionalParameterTypeCustomModifiers">由类型数组组成的数组。每个类型数组均表示属性的相应参数的可选自定义修饰符。如果某个特定参数没有可选的自定义修饰符,请指定 null,而不要指定类型数组。如果属性没有参数,或者所有参数都没有可选的自定义修饰符,请指定 null,而不要指定由数组组成的数组。</param>
500 <exception cref="T:System.ArgumentNullException">
501 <paramref name="mod" /> 为 null。- 或 -<paramref name="parameterTypes" /> 的一个元素为 null。- 或 -其中一个指定的自定义修饰符为 null。(但是,可以为任何参数的自定义修饰符的数组指定 null。)</exception>
502 <exception cref="T:System.ArgumentException">已完成签名- 或 -<paramref name="mod" /> 不是 <see cref="T:System.Reflection.Emit.ModuleBuilder" />。- 或 -指定的自定义修饰符之一为数组类型。- 或 -指定的自定义修饰符之一为开放泛型类型。也就是说,<see cref="P:System.Type.ContainsGenericParameters" /> 属性对于自定义修饰符为 true。- 或 -<paramref name="requiredParameterTypeCustomModifiers" /> 或 <paramref name="optionalParameterTypeCustomModifiers" /> 的大小与 <paramref name="parameterTypes" /> 的大小不相等。</exception>
504 <member name="M:System.Reflection.Emit.SignatureHelper.GetSignature">
505 <summary>在签名中添加结束标记并将签名标记为已完成,以便不能再添加更多的标记。</summary>
506 <returns>返回由完整签名组成的字节数组。</returns>
508 <member name="M:System.Reflection.Emit.SignatureHelper.ToString">
509 <summary>返回表示签名参数的字符串。</summary>
510 <returns>返回表示该签名的参数的字符串。</returns>