MethodBuilder::DefineParameter Method (Int32, ParameterAttributes, String^)
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.
Assembly: mscorlib (in mscorlib.dll)
public: ParameterBuilder^ DefineParameter( int position, ParameterAttributes attributes, String^ strParamName )
Parameters
- position
-
Type:
System::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
-
Type:
System.Reflection::ParameterAttributes
The parameter attributes of the parameter.
- strParamName
-
Type:
System::String^
The name of the parameter. The name can be the null string.
Return Value
Type: System.Reflection.Emit::ParameterBuilder^Returns a ParameterBuilder object that represents a parameter of this method or the return value of this method.
| Exception | Condition |
|---|---|
| ArgumentOutOfRangeException | The method has no parameters. -or- position is less than zero. -or- position is greater than the number of the method's parameters. |
| InvalidOperationException | The containing type was previously created using CreateType. -or- For the current method, the IsGenericMethod property is true, but the IsGenericMethodDefinition property is false. |
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. |
Available since 1.1
Silverlight
Available since 2.0
