ParameterAttributes ParameterAttributes ParameterAttributes ParameterAttributes Enum

Определение

Определяет атрибуты, которые могут быть связаны с параметром.Defines the attributes that can be associated with a parameter. Они определяются в файле CorHdr.h.These are defined in CorHdr.h.

Это перечисление имеет атрибут FlagsAttribute, который разрешает побитовое сочетание значений его элементов.

public enum class ParameterAttributes
[System.Flags]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum ParameterAttributes
type ParameterAttributes = 
Public Enum ParameterAttributes
Наследование
ParameterAttributesParameterAttributesParameterAttributesParameterAttributes
Атрибуты

Поля

HasDefault HasDefault HasDefault HasDefault 4096

Указывает, что параметр имеет стандартное значение.Specifies that the parameter has a default value.

HasFieldMarshal HasFieldMarshal HasFieldMarshal HasFieldMarshal 8192

Указывает, что параметр содержит сведения о маршалинге поля.Specifies that the parameter has field marshaling information.

In In In In 1

Указывает, что данный параметр является входным параметром.Specifies that the parameter is an input parameter.

Lcid Lcid Lcid Lcid 4

Указывает, что данный параметр является идентификатором языка локализации (lcid).Specifies that the parameter is a locale identifier (lcid).

None None None None 0

Указывает, что параметр не имеет атрибутов.Specifies that there is no parameter attribute.

Optional Optional Optional Optional 16

Указывает, что данный параметр не обязателен.Specifies that the parameter is optional.

Out Out Out Out 2

Указывает, что данный параметр является выходным параметром.Specifies that the parameter is an output parameter.

Reserved3 Reserved3 Reserved3 Reserved3 16384

Зарезервировано.Reserved.

Reserved4 Reserved4 Reserved4 Reserved4 32768

Зарезервировано.Reserved.

ReservedMask ReservedMask ReservedMask ReservedMask 61440

Указывает, что данный параметр зарезервирован.Specifies that the parameter is reserved.

Retval Retval Retval Retval 8

Указывает, что данный параметр является возвращаемым значением.Specifies that the parameter is a return value.

Примеры

Следующий пример отображает атрибуты указанного параметра.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

Комментарии

Чтобы получить ParameterAttributes , сначала следует получить Type.To get the ParameterAttributes value, first get the Type. Из Type, получить ParameterInfo массива.From the Type, get the ParameterInfo array. ParameterAttributes Значение находится в пределах массива.The ParameterAttributes value is within the array.

Эти значения перечислителя, зависят от дополнительных метаданных.These enumerator values are dependent on optional metadata. Не все атрибуты, доступные из всех компиляторов.Not all attributes are available from all compilers. См. в разделе соответствующего компилятора инструкциям, чтобы определить, какие перечислимые значения доступны.See the appropriate compiler instructions to determine which enumerated values are available.

Применяется к