MemberTypes Перечисление
Определение
Отмечает каждый тип элемент, определенный как производный класс класса MemberInfo.Marks each type of member that is defined as a derived class of MemberInfo.
Это перечисление имеет атрибут FlagsAttribute, который разрешает побитовое сочетание значений его элементов.
public enum class MemberTypes
[System.Flags]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum MemberTypes
type MemberTypes =
Public Enum MemberTypes
- Наследование
- Атрибуты
Поля
All | 191 | Задает все типы элементов.Specifies all member types. |
Constructor | 1 | Указывает, что элемент — это конструктор.Specifies that the member is a constructor. |
Custom | 64 | Указывает, что элемент — это тип настраиваемого элемента.Specifies that the member is a custom member type. |
Event | 2 | Указывает, что элемент — это событие.Specifies that the member is an event. |
Field | 4 | Указывает, что элемент — это поле.Specifies that the member is a field. |
Method | 8 | Указывает, что элемент — это метод.Specifies that the member is a method. |
NestedType | 128 | Указывает, что элемент — это вложенный тип.Specifies that the member is a nested type. |
Property | 16 | Указывает, что элемент — это свойство.Specifies that the member is a property. |
TypeInfo | 32 | Указывает, что элемент — это тип.Specifies that the member is a type. |
Примеры
В следующем примере выводятся имена членов класса ReflectionTypeLoadException и их связанных типов элементов.The following example displays the names of the members of the ReflectionTypeLoadException class and their associated member types.
using namespace System;
using namespace System::Reflection;
void main()
{
// Get the type of a chosen class.
Type^ t = ReflectionTypeLoadException::typeid;
// Get the MemberInfo array.
array<MemberInfo^>^ members = t->GetMembers();
// Get and display the name and the MemberType for each member.
Console::WriteLine("Members of {0}", t->Name);
for each (MemberInfo^ 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
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
Комментарии
Эти значения перечисления возвращаются следующими свойствами:These enumeration values are returned by the following properties:
System.Reflection.ConstructorInfo.System.Reflection.ConstructorInfo.
System.Reflection.PropertyInfo.System.Reflection.PropertyInfo.
Чтобы получить значение MemberTypes для типа, выполните следующие действия.To obtain the MemberTypes value for a type:
Получите объект Type, представляющий этот тип.Get a Type object that represents that type.
Получите значение свойства Type.MemberType.Retrieve the value of the Type.MemberType property.
Для получения значений MemberTypes для элементов типа.:To get the MemberTypes values for the members of a type.:
Получите объект Type, представляющий этот тип.Get a Type object that represents that type.
Получите массив MemberInfo, который представляет элементы этого типа, вызвав метод Type.GetMembers.Retrieve the MemberInfo array that represents the members of that type by calling the Type.GetMembers method.
Извлеките значение из свойства MemberInfo.MemberType для каждого элемента в массиве.Retrieve the value of the From the MemberInfo.MemberType property for each member in the array. Оператор
switch
в C# или оператореSelect Case
в Visual Basic обычно используется для обработки типов элементов.Aswitch
statement in C# orSelect Case
statement in Visual Basic is typically used to process member types.
MemberTypes соответствует Кортипеаттр, как определено в файле корхдр. h.MemberTypes matches CorTypeAttr as defined in the corhdr.h file.