ParameterInfo.Attributes Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает атрибуты этого параметра.
public:
virtual property System::Reflection::ParameterAttributes Attributes { System::Reflection::ParameterAttributes get(); };
public virtual System.Reflection.ParameterAttributes Attributes { get; }
member this.Attributes : System.Reflection.ParameterAttributes
Public Overridable ReadOnly Property Attributes As ParameterAttributes
Значение свойства
Объект ParameterAttributes
, который представляет атрибуты этого параметра.
Примеры
В следующем примере определяется метод с тремя параметрами. Оно использует свойство , Attributes чтобы получить атрибуты второго параметра и отобразить их в консоли.
using System;
using System.Reflection;
public class MyClass1
{
public int MyMethod( int i, out short j, ref long k)
{
j = 2;
return 0;
}
}
public class ParameterInfo_Attributes
{
public static void Main()
{
// Get the type.
Type myType = typeof(MyClass1);
// Get the method named 'MyMethod' from the type.
MethodBase myMethodBase = myType.GetMethod("MyMethod");
// Get the parameters associated with the method.
ParameterInfo[] myParameters = myMethodBase.GetParameters();
Console.WriteLine("\nThe method {0} has the {1} parameters :",
"ParameterInfo_Example.MyMethod", myParameters.Length);
// Print the attributes associated with each of the parameters.
for(int i = 0; i < myParameters.Length; i++)
Console.WriteLine("\tThe {0} parameter has the attribute : {1}",
i + 1, myParameters[i].Attributes);
}
}
Imports System.Reflection
Public Class MyClass1
Public Function MyMethod(i As Integer, ByRef j As Short, ByRef k As Long) As Integer
j = 2
Return 0
End Function 'MyMethod
End Class
Public Class ParameterInfo_Attributes
Public Shared Sub Main()
' Get the type.
Dim myType As Type = GetType(MyClass1)
' Get the method named 'MyMethod' from the type.
Dim myMethodBase As MethodBase = myType.GetMethod("MyMethod")
' Get the parameters associated with the method.
Dim myParameters As ParameterInfo() = myMethodBase.GetParameters()
Console.WriteLine(ControlChars.Cr + "The method {0} has the {1} parameters :", "ParameterInfo_Example.MyMethod", myParameters.Length)
' Print the attributes associated with each of the parameters.
Dim i As Integer
For i = 0 To myParameters.Length - 1
Console.WriteLine(ControlChars.Tab + "The {0} parameter has the attribute : {1}", i + 1, myParameters(i).Attributes)
Next i
End Sub
End Class
Комментарии
Этот метод использует AttrsImpl метод .
Чтобы получить ParameterInfo массив, сначала получите метод или конструктор, а затем вызовите MethodBase.GetParameters.