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

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


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

Определение

Отмечает каждый тип элемент, определенный как производный класс класса MemberInfo.

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

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

Поля

Имя Значение Описание
All 191

Задает все типы элементов.

Constructor 1

Указывает, что элемент — это конструктор.

Custom 64

Указывает, что элемент — это тип настраиваемого элемента.

Event 2

Указывает, что элемент — это событие.

Field 4

Указывает, что элемент — это поле.

Method 8

Указывает, что элемент — это метод.

NestedType 128

Указывает, что элемент — это вложенный тип.

Property 16

Указывает, что элемент — это свойство.

TypeInfo 32

Указывает, что элемент — это тип.

Примеры

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

C#
using System;
using System.Reflection;

class Example
{
    public static void Main()
    {
        // Get the type of a chosen class.
        Type t = typeof(ReflectionTypeLoadException);
 
        // Get the MemberInfo array.
        MemberInfo[] members = t.GetMembers();
 
        // Get and display the name and the MemberType for each member.
        Console.WriteLine("Members of {0}", t.Name);
        foreach (var member in members) { 
            MemberTypes memberType = member.MemberType; 
            Console.WriteLine("   {0}: {1}", member.Name, memberType);
        }
    }
}
// The example displays the following output:
//       Members of ReflectionTypeLoadException
//          get_Types: Method
//          get_LoaderExceptions: Method
//          GetObjectData: Method
//          get_Message: Method
//          get_Data: Method
//          GetBaseException: Method
//          get_InnerException: Method
//          get_TargetSite: Method
//          get_StackTrace: Method
//          get_HelpLink: Method
//          set_HelpLink: Method
//          get_Source: Method
//          set_Source: Method
//          ToString: Method
//          get_HResult: Method
//          GetType: Method
//          Equals: Method
//          GetHashCode: Method
//          GetType: Method
//          .ctor: Constructor
//          .ctor: Constructor
//          Types: Property
//          LoaderExceptions: Property
//          Message: Property
//          Data: Property
//          InnerException: Property
//          TargetSite: Property
//          StackTrace: Property
//          HelpLink: Property
//          Source: Property
//          HResult: Property

Комментарии

Эти значения перечисления возвращаются следующими свойствами:

Чтобы получить MemberTypes значение для типа, выполните следующие действия:

  1. Получение Type объекта, представляющего этот тип.

  2. Получение значения Type.MemberType свойства .

Чтобы получить MemberTypes значения для членов типа, выполните следующие действия:

  1. Получение Type объекта, представляющего этот тип.

  2. MemberInfo Получите массив, представляющий элементы этого типа, путем вызова Type.GetMembers метода .

  3. Получение значения свойства From для MemberInfo.MemberType каждого элемента в массиве. Оператор switch в C# или Select Case оператор в Visual Basic обычно используется для обработки типов элементов.

MemberTypes соответствует CorTypeAttr, как определено в файле corhdr.h.

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

Продукт Версии
.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.5, 1.6, 2.0, 2.1