ParameterAttributes ParameterAttributes ParameterAttributes ParameterAttributes Enum

Definición

Define los atributos que se pueden asociar con un parámetro.Defines the attributes that can be associated with a parameter. Se definen en CorHdr.h.These are defined in CorHdr.h.

Esta enumeración tiene el atributo FlagsAttribute, que permite una combinación bit a bit de sus valores de miembro.

public enum class ParameterAttributes
[System.Flags]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum ParameterAttributes
type ParameterAttributes = 
Public Enum ParameterAttributes
Herencia
ParameterAttributesParameterAttributesParameterAttributesParameterAttributes
Atributos

Campos

HasDefault HasDefault HasDefault HasDefault 4096

Especifica que el parámetro tiene un valor predeterminado.Specifies that the parameter has a default value.

HasFieldMarshal HasFieldMarshal HasFieldMarshal HasFieldMarshal 8192

Especifica que el parámetro contiene información de cálculo de referencias de campo.Specifies that the parameter has field marshaling information.

In In In In 1

Especifica que el parámetro es un parámetro de entrada.Specifies that the parameter is an input parameter.

Lcid Lcid Lcid Lcid 4

Especifica que el parámetro es un identificador regional (lcid).Specifies that the parameter is a locale identifier (lcid).

None None None None 0

Especifica que no hay ningún atributo de parámetro.Specifies that there is no parameter attribute.

Optional Optional Optional Optional 16

Especifica que este parámetro es opcional.Specifies that the parameter is optional.

Out Out Out Out 2

Especifica que el parámetro es un parámetro de salida.Specifies that the parameter is an output parameter.

Reserved3 Reserved3 Reserved3 Reserved3 16384

Reservado.Reserved.

Reserved4 Reserved4 Reserved4 Reserved4 32768

Reservado.Reserved.

ReservedMask ReservedMask ReservedMask ReservedMask 61440

Especifica que este parámetro está reservado.Specifies that the parameter is reserved.

Retval Retval Retval Retval 8

Especifica que el parámetro es un valor devuelto.Specifies that the parameter is a return value.

Ejemplos

El ejemplo siguiente muestra los atributos del parámetro especificado.The following example displays the attributes of the specified parameter.

using namespace System;
using namespace System::Reflection;
using namespace System::Runtime::InteropServices;
public ref class paramatt
{
public:
   static void mymethod( String^ str1, [Out]interior_ptr<String^> str2, interior_ptr<String^> str3 )
   {
       *str2 = "string";
   }

};

int main()
{
   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 = {0}", Mymethodbase );
   
   // Get the ParameterInfo array.
   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 = {0}, which is an {1}", (int)Myparamattributes, Myparamattributes );
   return 0;
}

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
Imports System.Reflection
Imports Microsoft.VisualBasic

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

Comentarios

Para obtener el ParameterAttributes valor, obtenga primero la Type.To get the ParameterAttributes value, first get the Type. Desde el Type, obtener el ParameterInfo matriz.From the Type, get the ParameterInfo array. El ParameterAttributes valor está dentro de la matriz.The ParameterAttributes value is within the array.

Estos valores de enumerador dependen de metadatos opcionales.These enumerator values are dependent on optional metadata. No todos los atributos están disponibles en todos los compiladores.Not all attributes are available from all compilers. Consulte las instrucciones del compilador adecuado para determinar qué valores enumerados están disponibles.See the appropriate compiler instructions to determine which enumerated values are available.

Se aplica a