ParameterAttributes Enumerazione

Definizione

Definisce gli attributi che possono essere associati a un parametro. Questi sono definiti in CorHdr.h.

Questa enumerazione supporta una combinazione bit per bit dei rispettivi valori dei membri.

public enum class ParameterAttributes
[System.Flags]
public enum ParameterAttributes
[System.Flags]
[System.Serializable]
public enum ParameterAttributes
[System.Flags]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum ParameterAttributes
[<System.Flags>]
type ParameterAttributes = 
[<System.Flags>]
[<System.Serializable>]
type ParameterAttributes = 
[<System.Flags>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ParameterAttributes = 
Public Enum ParameterAttributes
Ereditarietà
ParameterAttributes
Attributi

Campi

Nome Valore Descrizione
None 0

Specifica che non esiste alcun attributo di parametro.

In 1

Specifica che il parametro è un parametro di input.

Out 2

Specifica che il parametro è un parametro di output.

Lcid 4

Specifica che il parametro è un identificatore delle impostazioni locali (lcid).

Retval 8

Specifica che il parametro è un valore restituito.

Optional 16

Specifica che il parametro è facoltativo.

HasDefault 4096

Specifica che il parametro ha un valore predefinito.

HasFieldMarshal 8192

Specifica che il parametro dispone di informazioni sul marshalling dei campi.

Reserved3 16384

Riservato.

Reserved4 32768

Riservato.

ReservedMask 61440

Specifica che il parametro è riservato.

Esempio

Nell'esempio seguente vengono visualizzati gli attributi del parametro specificato.

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;
    }
}
Imports System.Reflection

Class paramatt

    Public Shared Sub mymethod(ByVal str1 As String, ByRef str2 As String, _
    ByRef str3 As String)
        str2 = "string"
    End Sub

    Public Shared Function Main() As Integer
        Console.WriteLine(ControlChars.CrLf + "Reflection.ParameterAttributes")

        ' Get the Type and the method.
        Dim Mytype As Type = Type.GetType("paramatt")
        Dim Mymethodbase As MethodBase = Mytype.GetMethod("mymethod")

        ' Display the method.
        Console.WriteLine("Mymethodbase = " + Mymethodbase.ToString())

        ' Get the ParameterInfo array.
        Dim Myarray As ParameterInfo() = Mymethodbase.GetParameters()

        ' Get and display the attributes for the second parameter.
        Dim Myparamattributes As ParameterAttributes = Myarray(1).Attributes

        Console.WriteLine("For the second parameter:" + ControlChars.CrLf _
           + "Myparamattributes = " + CInt(Myparamattributes).ToString() _
           + ", which is a " + Myparamattributes.ToString())

        Return 0
    End Function
End Class

Commenti

Per ottenere il ParameterAttributes valore, ottenere prima di tutto .Type TypeDa ottenere la ParameterInfo matrice. Il ParameterAttributes valore si trova all'interno della matrice.

Questi valori dell'enumeratore dipendono dai metadati facoltativi. Non tutti gli attributi sono disponibili da tutti i compilatori. Vedere le istruzioni del compilatore appropriate per determinare quali valori enumerati sono disponibili.

Si applica a