DynamicMethod.DefineParameter(Int32, ParameterAttributes, String) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
定义动态方法的参数。
public:
System::Reflection::Emit::ParameterBuilder ^ DefineParameter(int position, System::Reflection::ParameterAttributes attributes, System::String ^ parameterName);
public System.Reflection.Emit.ParameterBuilder? DefineParameter (int position, System.Reflection.ParameterAttributes attributes, string? parameterName);
public System.Reflection.Emit.ParameterBuilder DefineParameter (int position, System.Reflection.ParameterAttributes attributes, string parameterName);
member this.DefineParameter : int * System.Reflection.ParameterAttributes * string -> System.Reflection.Emit.ParameterBuilder
Public Function DefineParameter (position As Integer, attributes As ParameterAttributes, parameterName As String) As ParameterBuilder
参数
- position
- Int32
参数在参数列表中的位置。 通过第一个参数以数字 1 开头对参数编制索引。
- attributes
- ParameterAttributes
用于指定参数属性的 ParameterAttributes 值的按位组合。
- parameterName
- String
参数的名称。 名称可以是长度为零的字符串。
返回
始终返回 null
。
例外
示例
下面的代码示例演示如何定义动态方法的参数信息。 此代码示例是为 DynamicMethod 类提供的一个更大示例的一部分。
// Add parameter information to the dynamic method. (This is not
// necessary, but can be useful for debugging.) For each parameter,
// identified by position, supply the parameter attributes and a
// parameter name.
hello->DefineParameter(1, ParameterAttributes::In, "message");
hello->DefineParameter(2, ParameterAttributes::In, "valueToReturn");
// Add parameter information to the dynamic method. (This is not
// necessary, but can be useful for debugging.) For each parameter,
// identified by position, supply the parameter attributes and a
// parameter name.
hello.DefineParameter(1, ParameterAttributes.In, "message");
hello.DefineParameter(2, ParameterAttributes.In, "valueToReturn");
' Add parameter information to the dynamic method. (This is not
' necessary, but can be useful for debugging.) For each parameter,
' identified by position, supply the parameter attributes and a
' parameter name.
hello.DefineParameter(1, ParameterAttributes.In, "message")
hello.DefineParameter(2, ParameterAttributes.In, "valueToReturn")
注解
如果 position
为 0,则 DefineParameter 该方法引用返回值。 设置参数信息不会影响返回值。
如果动态方法已通过调用 CreateDelegate 或 Invoke 方法完成,该方法 DefineParameter 将不起作用。 不会引发异常。