ParameterAttributes Enumeração

Definição

Define os atributos que podem ser associados a um parâmetro. Estes estão definidos em CorHdr.h.

Esta enumeração suporta uma combinação bit-a-bit dos respetivos valores membro.

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
Herança
ParameterAttributes
Atributos

Campos

Name Valor Description
None 0

Especifica que não existe um atributo de parâmetro.

In 1

Especifica que o parâmetro é um parâmetro de entrada.

Out 2

Especifica que o parâmetro é um parâmetro de saída.

Lcid 4

Especifica que o parâmetro é um identificador local (lcid).

Retval 8

Especifica que o parâmetro é um valor de retorno.

Optional 16

Especifica que o parâmetro é opcional.

HasDefault 4096

Especifica que o parâmetro tem um valor predefinido.

HasFieldMarshal 8192

Especifica que o parâmetro tem informação de marshal de campo.

Reserved3 16384

Reservado.

Reserved4 32768

Reservado.

ReservedMask 61440

Especifica que o parâmetro é reservado.

Exemplos

O exemplo seguinte mostra os atributos do parâmetro especificado.

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

Observações

Para obter o ParameterAttributes valor, primeiro obtenha o Type. A partir do Type, obtenha o ParameterInfo array. O ParameterAttributes valor está dentro do array.

Estes valores de enumerador dependem de metadados opcionais. Nem todos os atributos estão disponíveis em todos os compiladores. Consulte as instruções do compilador apropriadas para determinar quais os valores enumerados disponíveis.

Aplica-se a