次の方法で共有


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 内)

参照

System.Reflection 名前空間