ParameterAttributes ParameterAttributes ParameterAttributes ParameterAttributes Enum

Definizione

Definisce gli attributi che è possibile associare a un parametro.Defines the attributes that can be associated with a parameter. Questi attributi sono definiti nel file CorHdr.h.These are defined in CorHdr.h.

Questa enumerazione ha un attributo FlagsAttribute che consente una combinazione bit per bit dei valori del relativo membro.

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

Campi

HasDefault HasDefault HasDefault HasDefault 4096

Specifica che il parametro ha un valore predefinito.Specifies that the parameter has a default value.

HasFieldMarshal HasFieldMarshal HasFieldMarshal HasFieldMarshal 8192

Specifica che il parametro dispone di informazioni di marshalling del campo.Specifies that the parameter has field marshaling information.

In In In In 1

Specifica che si tratta di un parametro di input.Specifies that the parameter is an input parameter.

Lcid Lcid Lcid Lcid 4

Specifica che il parametro è un identificatore di impostazioni locali (lcid).Specifies that the parameter is a locale identifier (lcid).

None None None None 0

Specifica che non esiste alcun attributo di parametro.Specifies that there is no parameter attribute.

Optional Optional Optional Optional 16

Specifica che si tratta di un parametro opzionale.Specifies that the parameter is optional.

Out Out Out Out 2

Specifica che si tratta di un parametro di output.Specifies that the parameter is an output parameter.

Reserved3 Reserved3 Reserved3 Reserved3 16384

Riservato.Reserved.

Reserved4 Reserved4 Reserved4 Reserved4 32768

Riservato.Reserved.

ReservedMask ReservedMask ReservedMask ReservedMask 61440

Specifica che si tratta di un parametro riservato.Specifies that the parameter is reserved.

Retval Retval Retval Retval 8

Specifica che il parametro è un valore restituito.Specifies that the parameter is a return value.

Esempi

Nell'esempio seguente visualizza gli attributi del parametro specificato.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

Commenti

Per ottenere il ParameterAttributes valore, ottenere prima la Type.To get the ParameterAttributes value, first get the Type. Dal Type, ottenere il ParameterInfo matrice.From the Type, get the ParameterInfo array. Il ParameterAttributes valore è all'interno della matrice.The ParameterAttributes value is within the array.

Questi valori dell'enumeratore sono dipendenti da metadati facoltativi.These enumerator values are dependent on optional metadata. Non tutti gli attributi sono disponibili tutti i compilatori.Not all attributes are available from all compilers. Vedere le istruzioni del compilatore appropriato per determinare quali valori enumerati sono disponibili.See the appropriate compiler instructions to determine which enumerated values are available.

Si applica a