Type.GetMember メソッド
現在の Type のメンバのうち、指定したメンバを取得します。
オーバーロードの一覧
指定した名前のメンバを検索します。
.NET Compact Framework でもサポート。
[Visual Basic] Overloads Public Function GetMember(String) As MemberInfo()
指定したバインディング制約を使用して、指定したメンバを検索します。
.NET Compact Framework でもサポート。
[Visual Basic] Overloads Public Overridable Function GetMember(String, BindingFlags) As MemberInfo() Implements IReflect.GetMember
[C#] public virtual MemberInfo[] GetMember(string, BindingFlags);
[C++] public: virtual MemberInfo* GetMember(String*, BindingFlags) [];
[JScript] public function GetMember(String, BindingFlags) : MemberInfo[];
指定したバインディング制約を使用して、指定したメンバ型の指定したメンバを検索します。
[Visual Basic] Overloads Public Overridable Function GetMember(String, MemberTypes, BindingFlags) As MemberInfo()
[C#] public virtual MemberInfo[] GetMember(string, MemberTypes, BindingFlags);
[C++] public: virtual MemberInfo* GetMember(String*, MemberTypes, BindingFlags) [];
[JScript] public function GetMember(String, MemberTypes, BindingFlags) : MemberInfo[];
使用例
[Visual Basic, C#, C++] myString クラスの、文字 C で始まるメソッドをすべて表示する例を次に示します。
[Visual Basic, C#, C++] メモ ここでは、GetMember のオーバーロード形式のうちの 1 つだけについて、使用例を示します。その他の例については、各オーバーロード形式のトピックを参照してください。
Public Sub GetPublicInstanceMethodMemberInfo()
Dim myString As [String] = "GetMember_String_MemberType_BindingFlag"
Dim myType As Type = myString.GetType()
' Get the public instance methods for myString starting with the letter C.
Dim myMembers As MemberInfo() = myType.GetMember("C*", MemberTypes.Method, BindingFlags.Public Or BindingFlags.Instance)
If myMembers.Length > 0 Then
Console.WriteLine(ControlChars.Cr + "The public instance method(s) starting with the letter C for type {0}:", myType)
Dim index As Integer
For index = 0 To myMembers.Length - 1
Console.WriteLine("Member {0}: {1}", index + 1, myMembers(index).ToString())
Next index
Else
Console.WriteLine("No members match the search criteria.")
End If
End Sub 'GetPublicInstanceMethodMemberInfo
End Class 'MyMemberSample
[C#]
public void GetPublicInstanceMethodMemberInfo()
{
String myString = "GetMember_String_MemberType_BindingFlag";
Type myType = myString.GetType();
// Get the public instance methods for myString starting with the letter C.
MemberInfo[] myMembers = myType.GetMember("C*", MemberTypes.Method,
BindingFlags.Public | BindingFlags.Instance);
if(myMembers.Length > 0)
{
Console.WriteLine("\nThe public instance method(s) starting with the letter C for type {0}:", myType);
for(int index=0; index < myMembers.Length; index++)
Console.WriteLine("Member {0}: {1}", index + 1, myMembers[index].ToString());
}
else
Console.WriteLine("No members match the search criteria.");
}
}
[C++]
void GetPublicInstanceMethodMemberInfo() {
String* myString = S"GetMember_String_MemberType_BindingFlag";
Type* myType = myString->GetType();
// Get the public instance methods for myString starting with the letter C.
MemberInfo* myMembers[] = myType->GetMember(S"C*", MemberTypes::Method,
static_cast<BindingFlags>(BindingFlags::Public | BindingFlags::Instance));
if (myMembers->Length > 0) {
Console::WriteLine(S"\nThe public instance method(s) starting with the letter C for type {0}:", myType);
for (int index=0; index < myMembers->Length; index++)
Console::WriteLine(S"Member {0}: {1}",__box( index + 1), myMembers->Item[index]);
} else
Console::WriteLine(S"No members match the search criteria.");
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。