ParameterAttributes Sabit listesi

Tanım

Bir parametreyle ilişkilendirilebilen öznitelikleri tanımlar. Bunlar CorHdr.h'de tanımlanır.

Bu sabit listesi, üyeleri için bit düzeyinde karşılaştırmayı destekler.

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
Devralma
ParameterAttributes
Öznitelikler

Alanlar

HasDefault 4096

parametresinin varsayılan bir değere sahip olduğunu belirtir.

HasFieldMarshal 8192

parametresinin alan hazırlama bilgilerine sahip olduğunu belirtir.

In 1

parametresinin bir giriş parametresi olduğunu belirtir.

Lcid 4

parametresinin bir yerel ayar tanımlayıcısı (lcid) olduğunu belirtir.

None 0

Parametre özniteliği olmadığını belirtir.

Optional 16

parametresinin isteğe bağlı olduğunu belirtir.

Out 2

parametresinin bir çıkış parametresi olduğunu belirtir.

Reserved3 16384

Ayrılmış.

Reserved4 32768

Ayrılmış.

ReservedMask 61440

parametresinin ayrılmış olduğunu belirtir.

Retval 8

parametresinin bir dönüş değeri olduğunu belirtir.

Örnekler

Aşağıdaki örnek, belirtilen parametrenin özniteliklerini görüntüler.

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.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

Açıklamalar

Değerini almak ParameterAttributes için önce değerini Typealın. dizininden Typedizisini ParameterInfo alın. ParameterAttributes Değer dizi içindedir.

Bu numaralandırıcı değerleri isteğe bağlı meta veriler üzerinde bağımlıdır. Tüm öznitelikler tüm derleyicilerden kullanılamaz. Hangi numaralandırılmış değerlerin kullanılabilir olduğunu belirlemek için uygun derleyici yönergelerine bakın.

Şunlara uygulanır