[Flags] | 
These enumerator values are dependent on optional metadata. Not all attributes are available from all compilers. See the appropriate compiler instructions to determine which enumerated values are available.
 using System;
 using System.Reflection;
 
 class paramatt
 {
    public static void mymethod (string str1, out string str2, ref string str3)
    {
        str2 = "string";
    }
    
    public static int Main(string[] args)
    {
       Console.WriteLine("\nReflection.ParameterAttributes");
  
       //Get the Type and the method.
  
       Type Mytype = Type.GetType("paramatt");
       MethodBase Mymethodbase = Mytype.GetMethod("mymethod");
  
       //Display the method
       Console.Write("\nMymethodbase = " + Mymethodbase);
  
       //Get the ParameterInfo array
       ParameterInfo[] Myarray = Mymethodbase.GetParameters();
  
       //Get and display the attributes for the second parameter
       ParameterAttributes Myparamattributes = Myarray[1].Attributes;
  
       Console.Write("\nFor the second parameter:\nMyparamattributes = " 
          + (int) Myparamattributes
          + ", which is an "
          + Myparamattributes.ToString());
  
       return 0;
    }
 }
 /*
 Produces the following output
 
 Reflection.ParameterAttributes
 
 Mymethodbase = Void mymethod (System.String, System.String,
 System.String ByRef)
 
 For the second parameter:
 Myparamattributes = 2, which is an Out
 */
    
| HasDefault | Specifies that the parameter has a default value. | 
| HasFieldMarshal | Specifies that the parameter has field marshaling information. | 
| In | Specifies that the parameter is an input parameter. | 
| Lcid | Specifies that the parameter is a locale identifier (lcid). | 
| None | Specifies that there is no parameter attribute. | 
| Optional | Specifies that the parameter is optional. | 
| Out | Specifies that the parameter is an output parameter. | 
| Reserved3 | Reserved. | 
| Reserved4 | Reserved. | 
| ReservedMask | Specifies that the parameter is reserved. | 
| Retval | Specifies that the parameter is a return value. | 
Hierarchy: