Прочитать на английском

Поделиться через


ParameterAttributes Перечисление

Определение

Определяет атрибуты, которые могут быть связаны с параметром. Они определяются в файле CorHdr.h.

Это перечисление поддерживает побитовую комбинацию значений его членов.

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

Поля

Имя Значение Описание
HasDefault 4096

Указывает, что параметр имеет стандартное значение.

HasFieldMarshal 8192

Указывает, что параметр содержит сведения о маршалинге поля.

In 1

Указывает, что данный параметр является входным параметром.

Lcid 4

Указывает, что данный параметр является идентификатором языка локализации (lcid).

None 0

Указывает, что параметр не имеет атрибутов.

Optional 16

Указывает, что данный параметр не обязателен.

Out 2

Указывает, что данный параметр является выходным параметром.

Reserved3 16384

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

Reserved4 32768

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

ReservedMask 61440

Указывает, что данный параметр зарезервирован.

Retval 8

Указывает, что данный параметр является возвращаемым значением.

Примеры

В следующем примере отображаются атрибуты указанного параметра.

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;
    }
}

Комментарии

Чтобы получить ParameterAttributes значение, сначала получите Type. TypeИз получите ParameterInfo массив . Значение ParameterAttributes находится в массиве.

Эти значения перечислителя зависят от необязательных метаданных. Не все атрибуты доступны из всех компиляторов. Ознакомьтесь с соответствующими инструкциями компилятора, чтобы определить, какие перечисленные значения доступны.

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

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0