MemberTypes 列挙体
MemberInfo の派生クラスとして定義されているメンバの型をマークします。
この列挙体には、メンバ値をビットごとに演算するための FlagsAttribute 属性が含まれています。
<Flags>
<Serializable>
Public Enum MemberTypes
[C#]
[Flags]
[Serializable]
public enum MemberTypes
[C++]
[Flags]
[Serializable]
__value public enum MemberTypes
[JScript]
public
Flags
Serializable
enum MemberTypes
解説
これらの列挙型値は MemberType で返される値で、 switch ステートメントで使用すると役立ちます。 MemberTypes は、corhdr.h ファイルで定義されているとおりの CorTypeAttr と一致します。
メソッドの MemberTypes 値を取得するには
- 最初に Type を取得します。
- type から MemberInfo 配列を取得します。
- 最後に、 MemberInfo 配列から MemberType を取得します。
メンバ
メンバ名 | 説明 | 値 |
---|---|---|
All
.NET Compact Framework でもサポート。 |
すべてのメンバ型を指定します。 | 191 |
Constructor
.NET Compact Framework でもサポート。 |
メンバがコンストラクタであり、 ConstructorInfo のメンバを表すことを指定します。16 進値では 0x01 になります。 | 1 |
Custom
.NET Compact Framework でもサポート。 |
メンバがカスタム メンバ型であることを指定します。16 進値では 0x40 になります。 | 64 |
Event
.NET Compact Framework でもサポート。 |
メンバがイベントであり、 EventInfo のメンバを表すことを指定します。16 進値では 0x02 になります。 | 2 |
Field
.NET Compact Framework でもサポート。 |
メンバがフィールドであり、 FieldInfo のメンバを表すことを指定します。16 進値では 0x04 になります。 | 4 |
Method
.NET Compact Framework でもサポート。 |
メンバがメソッドであり、 MethodInfo のメンバを表すことを指定します。16 進値では 0x08 になります。 | 8 |
NestedType
.NET Compact Framework でもサポート。 |
メンバが入れ子になった型であり、 MemberInfo を拡張することを指定します。 | 128 |
Property
.NET Compact Framework でもサポート。 |
メンバがプロパティであり、 PropertyInfo のメンバを表すことを指定します。16 進値では 0x10 になります。 | 16 |
TypeInfo
.NET Compact Framework でもサポート。 |
メンバが型であり、 TypeInfo のメンバを表すことを指定します。16 進値では 0x20 になります。 | 32 |
使用例
[Visual Basic, C#, C++] 指定したクラスのメンバの型を表示する例を次に示します。
Imports System
Imports System.Reflection
Imports Microsoft.VisualBasic
Class membertypesenum
Public Overloads Shared Function Main(ByVal args() As String) As Integer
Console.WriteLine(ControlChars.Lf & "Reflection.MemberTypes")
Dim Mymembertypes As MemberTypes
' Get the type of a chosen class.
Dim Mytype As Type = Type.GetType("System.Reflection.ReflectionTypeLoadException")
' Get the MemberInfo array.
Dim Mymembersinfoarray As MemberInfo() = Mytype.GetMembers()
' Get and display the name and the MemberType for each member.
Dim Mymemberinfo As MemberInfo
For Each Mymemberinfo In Mymembersinfoarray
Mymembertypes = Mymemberinfo.MemberType
Console.WriteLine("The member {0} of {1} is a {2}.", Mymemberinfo.Name, Mytype, Mymembertypes.ToString())
Next Mymemberinfo
Return 0
End Function 'Main
End Class 'membertypesenum
[C#]
using System;
using System.Reflection;
class membertypesenum
{
public static int Main(string[] args)
{
Console.WriteLine ("\nReflection.MemberTypes");
MemberTypes Mymembertypes;
// Get the type of a chosen class.
Type Mytype = Type.GetType
("System.Reflection.ReflectionTypeLoadException");
// Get the MemberInfo array.
MemberInfo[] Mymembersinfoarray = Mytype.GetMembers();
// Get and display the name and the MemberType for each member.
foreach (MemberInfo Mymemberinfo in Mymembersinfoarray)
{
Mymembertypes = Mymemberinfo.MemberType;
Console.WriteLine("The member {0} of {1} is a {2}.", Mymemberinfo.Name, Mytype, Mymembertypes.ToString());
}
return 0;
}
}
[C++]
#using <mscorlib.dll>
using namespace System;
using namespace System::Reflection;
int main()
{
Console::WriteLine (S"\nReflection.MemberTypes");
MemberTypes Mymembertypes;
// Get the type of a chosen class.
Type* Mytype = Type::GetType
(S"System.Reflection.ReflectionTypeLoadException");
// Get the MemberInfo array.
MemberInfo* Mymembersinfoarray[] = Mytype->GetMembers();
// Get and display the name and the MemberType for each member.
System::Collections::IEnumerator* enum0 = Mymembersinfoarray->GetEnumerator();
while (enum0->MoveNext())
{
MemberInfo* Mymemberinfo = __try_cast<MemberInfo*>(enum0->Current);
Mymembertypes = Mymemberinfo->MemberType;
Console::WriteLine(S"The member {0} of {1} is a {2}.", Mymemberinfo->Name, Mytype, __box(Mymembertypes));
}
return 0;
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
名前空間: System.Reflection
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
アセンブリ: Mscorlib (Mscorlib.dll 内)