Type.GetMembers メソッド
現在の Type のメンバ (プロパティ、メソッド、フィールド、イベントなど) を取得します。
オーバーロードの一覧
現在の Type のすべてのパブリック メンバを返します。
.NET Compact Framework でもサポート。
[Visual Basic] Overloads Public Function GetMembers() As MemberInfo()
派生クラスによってオーバーライドされた場合、指定したバインディング制約を使用して、現在の Type に対して定義されているメンバを検索します。
.NET Compact Framework でもサポート。
[Visual Basic] Overloads Public MustOverride Function GetMembers(BindingFlags) As MemberInfo() Implements IReflect.GetMembers
[C++] public: virtual MemberInfo* GetMembers(BindingFlags) [] = 0;
[JScript] public abstract function GetMembers(BindingFlags) : MemberInfo[];
使用例
[Visual Basic, C#, C++] メモ ここでは、GetMembers のオーバーロード形式のうちの 1 つだけについて、使用例を示します。その他の例については、各オーバーロード形式のトピックを参照してください。
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
[C#]
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 );
}
}
}
[C++]
__gc class MyClass {
public:
int* myInt;
String* myString;
MyClass() {
}
void Myfunction() {
}
};
int 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(static_cast<BindingFlags>(BindingFlags::Public|BindingFlags::Instance));
Console::WriteLine(S"\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(S"'{0}' is a {1}", myMemberInfo[i]->Name,__box( myMemberInfo[i]->MemberType));
}
} catch (SecurityException* e) {
Console::WriteLine(S"SecurityException : {0}", e->Message);
}
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。