Defining a Parameter with Reflection EmitÂ
Parameter names and parameter attributes are optional. Optional information for a method parameter, such as name and attributes (specified using the ParameterAttributes enumeration) can be defined using the MethodBuilder.DefineParameter method, which returns a ParameterBuilder. Optional information for a constructor parameter can be defined using the ConstructorBuilder.DefineParameter method, which returns a ParameterBuilder.
ParameterBuilder.SetMarshal specifies how the parameter is marshaled. ParameterBuilder.SetConstant specifies the default value for a parameter.