DefineParameter Method

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.

Namespace:   System.Reflection.Emit
Assembly:  mscorlib (in mscorlib.dll)

public ParameterBuilder DefineParameter(
	int position,
	ParameterAttributes attributes,
	string strParamName


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.

Type: System.Reflection.ParameterAttributes

The parameter attributes of the parameter.

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

The method has no parameters.


positionis less than zero.


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


The containing type was previously created using CreateType.


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.


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.

.NET Framework
Available since 1.1
Available since 2.0
Return to top
© 2015 Microsoft