Type.GetMembers メソッド ()
アセンブリ: mscorlib (mscorlib.dll 内)

Dim instance As Type Dim returnValue As MemberInfo() returnValue = instance.GetMembers
現在の Type のすべてのパブリック メンバを表す MemberInfo オブジェクトの配列。 または 現在の Type にパブリック メンバが存在しない場合は、MemberInfo 型の空の配列。

メンバには、プロパティ、メソッド、フィールド、イベントなどがあります。
このメソッド オーバーロードは、BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static (Visual Basic の場合は BindingFlags.PublicOrBindingFlags.InstanceOrBindingFlags.Static) を使用して GetMembers(BindingFlags) メソッド オーバーロードを呼び出します。このメソッド オーバーロードはクラス初期化子 (.cctor) を見つけません。クラス初期化子を見つけるには、BindingFlags をとるオーバーロードを使用し、BindingFlags.Static | BindingFlags.NonPublic (Visual Basic の場合は BindingFlags.StaticOrBindingFlags.NonPublic) を指定します。TypeInitializer プロパティを使用して、クラス初期化子を取得することもできます。
型に対するリフレクション時に Get メソッドによって返される基本クラスのメンバを次の表に示します。
メンバ型 | 非静的 | |
---|---|---|
いいえ | いいえ | |
いいえ | ||
適用なし | 共通型システムの規則では、継承は、プロパティを実装するメソッドの継承と同じになります。リフレクションは、プロパティを名前と署名によって隠ぺいされているとして扱います。下記のメモ 2 を参照してください。 | |
いいえ | はい。メソッド (仮想メソッドと非仮想メソッドの両方) は、名前によって隠蔽することもできますし、名前と署名によって隠蔽することもできます。 | |
いいえ | いいえ | |
適用なし | 共通型システムの規則では、継承は、プロパティを実装するメソッドの継承と同じになります。リフレクションは、プロパティを名前と署名によって隠ぺいされているとして扱います。下記のメモ 2 を参照してください。 |
-
名前と署名による隠ぺいでは、カスタム修飾子、戻り値の型、パラメータの型、sentinel、およびアンマネージ呼び出し規約を含めて、署名のすべての部分が判断の対象となります。これはバイナリ比較です。
-
リフレクションの場合、プロパティおよびイベントは名前と署名によって隠ぺいされています。基本クラスに get アクセサと set アクセサの両方を持つプロパティがあり、派生クラスには get アクセサしかない場合、派生クラスのプロパティにより基本クラスのプロパティが隠ぺいされ、基本クラスの set アクセサにはアクセスできません。
現在の Type が構築ジェネリック型を表している場合、このメソッドは、型パラメータを適切な型の引数で置き換えて MemberInfo オブジェクトを返します。
現在の Type がジェネリック型またはジェネリック メソッドの定義の型パラメータを表している場合、このメソッドはクラス制約のメンバを検索します。クラス制約のメンバがない場合は、Object のメンバを検索します。

Class [MyClass] Public myInt As Integer = 0 Public myString As String = Nothing Public Sub New() End Sub 'New Public Sub Myfunction() End Sub 'Myfunction End Class '[MyClass] Class Type_GetMembers Public Shared Sub Main() Try Dim myObject As New [MyClass]() Dim myMemberInfo() As MemberInfo ' Get the type of 'MyClass'. Dim myType As Type = myObject.GetType() ' Get the information related to all public member's of 'MyClass'. myMemberInfo = myType.GetMembers() Console.WriteLine(ControlChars.Cr + "The members of class '{0}' are :" + ControlChars.Cr, myType) Dim i As Integer For i = 0 To myMemberInfo.Length - 1 ' Display name and type of the concerned member. Console.WriteLine("'{0}' is a {1}", myMemberInfo(i).Name, myMemberInfo(i).MemberType) Next i Catch e As SecurityException Console.WriteLine(("Exception : " + e.Message.ToString())) End Try End Sub 'Main End Class 'Type_GetMembers
class MyClass { public int myInt = 0; public string myString = null; public MyClass() { } public void Myfunction() { } } class Type_GetMembers { public static void Main() { try { MyClass myObject = new MyClass(); MemberInfo[] myMemberInfo; // Get the type of 'MyClass'. Type myType = myObject.GetType(); // Get the information related to all public member's of 'MyClass'. myMemberInfo = myType.GetMembers(); Console.WriteLine( "\nThe members of class '{0}' are :\n", myType); for (int i =0 ; i < myMemberInfo.Length ; i++) { // Display name and type of the concerned member. Console.WriteLine( "'{0}' is a {1}", myMemberInfo[i].Name, myMemberInfo[i].MemberType); } } catch(SecurityException e) { Console.WriteLine("Exception : " + e.Message ); } } }
ref class MyClass { public: int myInt; String^ myString; MyClass(){} void Myfunction(){} }; int main() { try { MyClass^ myObject = gcnew MyClass; array<MemberInfo^>^myMemberInfo; // Get the type of 'MyClass'. Type^ myType = myObject->GetType(); // Get the information related to all public members of 'MyClass'. myMemberInfo = myType->GetMembers(); Console::WriteLine( "\nThe members of class '{0}' are :\n", myType ); for ( int i = 0; i < myMemberInfo->Length; i++ ) { // Display name and type of the concerned member. Console::WriteLine( "'{0}' is a {1}", myMemberInfo[ i ]->Name, myMemberInfo[ i ]->MemberType ); } } catch ( SecurityException^ e ) { Console::WriteLine( "Exception : {0}", e->Message ); } }
class MyClass { public int myInt = 0; public String myString = null; public MyClass() { } //MyClass public void Myfunction() { } //Myfunction } //MyClass class Type_GetMembers { public static void main(String[] args) { try { MyClass myObject = new MyClass(); MemberInfo myMemberInfo[]; // Get the type of 'MyClass'. Type myType = myObject.GetType(); // Get the information related to all public member's of 'MyClass'. myMemberInfo = myType.GetMembers(); Console.WriteLine("\nThe members of class '{0}' are :\n", myType); for (int i = 0; i < myMemberInfo.length; i++) { // Display name and type of the concerned member. Console.WriteLine("'{0}' is a {1}", myMemberInfo[i].get_Name() , myMemberInfo[i].get_MemberType()); } } catch (SecurityException e) { Console.WriteLine("Exception : " + e.get_Message()); } } //main } //Type_GetMembers

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Type.GetMembers メソッド (BindingFlags)
アセンブリ: mscorlib (mscorlib.dll 内)

Dim instance As Type Dim bindingAttr As BindingFlags Dim returnValue As MemberInfo() returnValue = instance.GetMembers(bindingAttr)
- bindingAttr
検索の実行方法を指定する 1 つ以上の BindingFlags から成るビット マスク。
または
null 参照 (Visual Basic では Nothing) を返す 0。
現在の Type に対して定義されているメンバのうち、指定したバインディング制約に一致するすべてのメンバを表す MemberInfo オブジェクトの配列。 または 現在の Type に対してメンバが定義されていないか、または定義されているメンバの中にバインディング制約に一致するものが存在しない場合は、MemberInfo 型の空の配列。

メンバには、プロパティ、メソッド、フィールド、イベントなどがあります。
要求された型がパブリックではなく、呼び出し元に現在のアセンブリ外の非パブリック オブジェクトをリフレクションするための ReflectionPermission がない場合、このメソッドは null 参照 (Visual Basic では Nothing) を返します。
次の BindingFlags フィルタ フラグは、検索対象に含めるメンバを定義するために使用できます。
-
戻り値を取得するには、BindingFlags.Instance または BindingFlags.Static のいずれかを指定する必要があります。
-
検索対象にパブリックではないメンバ (つまり、プライベート メンバやプロテクト メンバ) を含めるための BindingFlags.NonPublic を指定します。
-
階層構造の上位にある public 静的メンバおよび protected 静的メンバを検索対象に含めるには、BindingFlags.FlattenHierarchy を指定します。継承クラスの private 静的メンバは含まれません。
次の BindingFlags 修飾フラグは、検索方法を変更するために使用できます。
指定したメンバを返すには、Public フラグだけか、NonPublic フラグだけを指定してこのメソッドを呼び出します。他のフラグを指定する必要はありません。
詳細については、「System.Reflection.BindingFlags」を参照してください。
このメソッドを使用して初期化子 (.cctor) を取得するには、BindingFlags.Static | BindingFlags.NonPublic (Visual Basic の場合は BindingFlags.StaticOrBindingFlags.NonPublic) を指定する必要があります。TypeInitializer プロパティを使用して、クラス初期化子を取得することもできます。
現在の T:System.Type が構築ジェネリック型を表している場合、このメソッドは、型パラメータを適切な型の引数で置き換えて MemberInfo オブジェクトを返します。
現在の Type がジェネリック型またはジェネリック メソッドの定義の型パラメータを表している場合、このメソッドはクラス制約のメンバを検索します。クラス制約のメンバがない場合は、Object のメンバを検索します。

Class [MyClass] Public myInt As Integer = 0 Public myString As String = Nothing Public Sub New() End Sub 'New Public Sub Myfunction() End Sub 'Myfunction End Class '[MyClass] Class Type_GetMembers_BindingFlags Public Shared Sub Main() Try Dim MyObject As New [MyClass]() Dim myMemberInfo() As MemberInfo ' Get the type of the class 'MyClass'. Dim myType As Type = MyObject.GetType() ' Get the public instance members of the class 'MyClass'. myMemberInfo = myType.GetMembers((BindingFlags.Public Or BindingFlags.Instance)) Console.WriteLine(ControlChars.Cr + "The public instance members of class '{0}' are : " + ControlChars.Cr, myType) Dim i As Integer For i = 0 To myMemberInfo.Length - 1 ' Display name and type of the member of 'MyClass'. Console.WriteLine("'{0}' is a {1}", myMemberInfo(i).Name, myMemberInfo(i).MemberType) Next i Catch e As SecurityException Console.WriteLine(("SecurityException : " + e.Message.ToString())) End Try End Sub 'Main End Class 'Type_GetMembers_BindingFlags
class MyClass { public int myInt = 0; public string myString = null; public MyClass() { } public void Myfunction() { } } class Type_GetMembers_BindingFlags { public static void Main() { try { MyClass MyObject = new MyClass(); MemberInfo [] myMemberInfo; // Get the type of the class 'MyClass'. Type myType = MyObject.GetType(); // Get the public instance members of the class 'MyClass'. myMemberInfo = myType.GetMembers(BindingFlags.Public|BindingFlags.Instance); Console.WriteLine( "\nThe public instance members of class '{0}' are : \n", myType); for (int i =0 ; i < myMemberInfo.Length ; i++) { // Display name and type of the member of 'MyClass'. Console.WriteLine( "'{0}' is a {1}", myMemberInfo[i].Name, myMemberInfo[i].MemberType); } } catch (SecurityException e) { Console.WriteLine("SecurityException : " + e.Message ); } } }
ref class MyClass { public: int * myInt; String^ myString; MyClass(){} void Myfunction(){} }; int main() { try { MyClass^ MyObject = gcnew MyClass; array<MemberInfo^>^myMemberInfo; // Get the type of the class 'MyClass'. Type^ myType = MyObject->GetType(); // Get the public instance members of the class 'MyClass'. myMemberInfo = myType->GetMembers( static_cast<BindingFlags>(BindingFlags::Public | BindingFlags::Instance) ); Console::WriteLine( "\nThe public instance members of class '{0}' are : \n", myType ); for ( int i = 0; i < myMemberInfo->Length; i++ ) { // Display name and type of the member of 'MyClass'. Console::WriteLine( "'{0}' is a {1}", myMemberInfo[ i ]->Name, myMemberInfo[ i ]->MemberType ); } } catch ( SecurityException^ e ) { Console::WriteLine( "SecurityException : {0}", e->Message ); } }
class MyClass { public int myInt = 0; public String myString = null; public MyClass() { } //MyClass public void Myfunction() { } //Myfunction } //MyClass class Type_GetMembers_BindingFlags { public static void main(String[] args) { try { MyClass MyObject = new MyClass(); MemberInfo myMemberInfo[]; // Get the type of the class 'MyClass'. Type myType = MyObject.GetType(); // Get the public instance members of the class 'MyClass'. myMemberInfo = myType.GetMembers(BindingFlags.Public | BindingFlags.Instance); Console.WriteLine("\nThe public instance members of class" + " '{0}' are : \n", myType); for (int i = 0; i < myMemberInfo.length; i++) { // Display name and type of the member of 'MyClass'. Console.WriteLine("'{0}' is a {1}", myMemberInfo[i].get_Name() , myMemberInfo[i].get_MemberType()); } } catch (SecurityException e) { Console.WriteLine("SecurityException : " + e.get_Message()); } } //main } //Type_GetMembers_BindingFlags


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Type.GetMembers メソッド

名前 | 説明 |
---|---|
Type.GetMembers () | 現在の Type のすべてのパブリック メンバを返します。 .NET Compact Framework によってサポートされています。 |
Type.GetMembers (BindingFlags) | 派生クラスによってオーバーライドされた場合、指定したバインディング制約を使用して、現在の Type に対して定義されているメンバを検索します。 .NET Compact Framework によってサポートされています。 |

_Type.GetMembers メソッド
Weblioに収録されているすべての辞書からType.GetMembersを検索する場合は、下記のリンクをクリックしてください。

- Type.GetMembersのページへのリンク