MethodBuilder.DefineParameter(Int32, ParameterAttributes, String) Method

Definition

Sets the parameter attributes and the name of a parameter of this method, or of the return value of this method. Returns a ParameterBuilder that can be used to apply custom attributes.

public:
 System::Reflection::Emit::ParameterBuilder ^ DefineParameter(int position, System::Reflection::ParameterAttributes attributes, System::String ^ strParamName);
public System.Reflection.Emit.ParameterBuilder DefineParameter (int position, System.Reflection.ParameterAttributes attributes, string? strParamName);
public System.Reflection.Emit.ParameterBuilder DefineParameter (int position, System.Reflection.ParameterAttributes attributes, string strParamName);
member this.DefineParameter : int * System.Reflection.ParameterAttributes * string -> System.Reflection.Emit.ParameterBuilder
Public Function DefineParameter (position As Integer, attributes As ParameterAttributes, strParamName As String) As ParameterBuilder

Parameters

position
Int32

The position of the parameter in the parameter list. Parameters are indexed beginning with the number 1 for the first parameter; the number 0 represents the return value of the method.

attributes
ParameterAttributes

The parameter attributes of the parameter.

strParamName
String

The name of the parameter. The name can be the null string.

Returns

Returns a ParameterBuilder object that represents a parameter of this method or the return value of this method.

Exceptions

The method has no parameters.

-or-

position is less than zero.

-or-

position is greater than the number of the method's parameters.

The containing type was previously created using CreateType().

-or-

For the current method, the IsGenericMethod property is true, but the IsGenericMethodDefinition property is false.

Remarks

The ParameterBuilder object returned by this method can be used to set the default value for a parameter or to apply custom attributes.

Parameter numbering begins with 1, so position is 1 for the first parameter. If position is zero, this method affects the return value.

Note

In the .NET Framework versions 1.0 and 1.1, an exception is thrown if position is zero, so this method cannot be used to modify attributes of the return value in those versions.

Applies to