This class represents a dynamically created parameter, which is created through the MethodBuilder.DefineParameter( ) or ConstructorBuilder.DefineParameter( ) method. When creating a ParameterBuilder with these methods , specify the name of the parameter and its position in the list of arguments. This list is 1-based, so the first parameter is given an index of 1. Use the SetMarshal( ) method to specify how the parameter is marshaled from unmanaged code. The SetConstant( ) method specifies the default value for a parameter. public class ParameterBuilder { // Public Instance Properties public virtual int Attributes {get; } public bool IsIn {get; } public bool IsOptional {get; } public bool IsOut {get; } public virtual string Name {get; } public virtual int Position {get; } // Public Instance Methods public virtual ParameterToken GetToken ( ); public virtual void SetConstant (object defaultValue ); public void SetCustomAttribute (System.Reflection.ConstructorInfo con , byte[ ] binaryAttribute ); public void SetCustomAttribute (CustomAttributeBuilder customBuilder ); public virtual void SetMarshal (UnmanagedMarshal unmanagedMarshal ); } Returned ByConstructorBuilder.DefineParameter( ) , MethodBuilder.DefineParameter( ) |