This documentation is archived and is not being maintained.

ParameterAttributes Enumeration

Defines the attributes that can be associated with a parameter. These are defined in CorHdr.h.

This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.

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

public enum ParameterAttributes

Member nameDescription
Supported by the XNA FrameworkNoneSpecifies that there is no parameter attribute.
Supported by the XNA FrameworkInSpecifies that the parameter is an input parameter.
Supported by the XNA FrameworkOutSpecifies that the parameter is an output parameter.
Supported by the XNA FrameworkLcidSpecifies that the parameter is a locale identifier (lcid).
Supported by the XNA FrameworkRetvalSpecifies that the parameter is a return value.
Supported by the XNA FrameworkOptionalSpecifies that the parameter is optional.
Supported by the XNA FrameworkReservedMaskSpecifies that the parameter is reserved.
Supported by the XNA FrameworkHasDefaultSpecifies that the parameter has a default value.
Supported by the XNA FrameworkHasFieldMarshalSpecifies that the parameter has field marshaling information.
Supported by the XNA FrameworkReserved3Reserved.
Supported by the XNA FrameworkReserved4Reserved.

To get the ParameterAttributes value, first get the Type. From the Type, get the ParameterInfo array. The ParameterAttributes value is within the array.

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.

The following example displays the attributes of the specified parameter.

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)

        // 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;

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.