[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: