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


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

Определение

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

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

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

Поля

Имя Значение Описание
Constructor 1

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

Event 2

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

Field 4

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

Method 8

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

Property 16

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

TypeInfo 32

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

Custom 64

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

NestedType 128

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

All 191

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

Примеры

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

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
Imports System.Reflection

Module Example
    Public Sub Main()
        ' Get the type of a particular class.
        Dim t As Type = GetType(ReflectionTypeLoadException)

        ' Get the MemberInfo array.
        Dim members As MemberInfo() = t.GetMembers()

        ' Get and display the name and the MemberType for each member.
        Console.WriteLine("Members of {0}", t.Name)
        For Each member In members
            Dim memberType As MemberTypes = member.MemberType
            Console.WriteLine("   {0}: {1}", member.Name, memberType)
        Next
    End Sub
End Module
' 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.

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