Type.FilterNameIgnoreCase フィールド
名前に適用され、大文字と小文字を区別しないメンバ フィルタを表します。このフィールドは読み取り専用です。
Public Shared ReadOnly FilterNameIgnoreCase As MemberFilter
[C#]
public static readonly MemberFilter FilterNameIgnoreCase;
[C++]
public: static MemberFilter* FilterNameIgnoreCase;
[JScript]
public static var FilterNameIgnoreCase : MemberFilter;
解説
このフィールドは、 FindMembers メソッドで使用されるデリゲートへの参照を保持します。このデリゲートによってカプセル化されたメソッドは、 MemberInfo オブジェクト、Object という 2 つのパラメータを受け取ります。このメソッドは、 MemberInfo オブジェクトが Object に指定した基準に一致するかどうかを判断します。Object には文字列値が代入されます。この値の末尾には、ワイルドカード文字 "*" を含むことができます。基準として指定できるのは、ワイルドカード文字を末尾に指定した文字列だけです。
たとえば、Object に "ByTe*" という値を代入するとします。この場合、 FilterName デリゲートが呼び出されると、呼び出されたデリゲートは、大文字と小文字の区別は無視して、 MemberInfo オブジェクトで表されるメソッドの名前が "byte" で始まる場合にだけ true を返します。
使用例
[Visual Basic, C#, C++] MemberFilter デリゲートを取得し、これをパラメータとして FindMembers メソッドに渡して、 String クラスの (大文字と小文字を区別しない) "c" で始まるメソッドと属性を表示する例を次に示します。
Imports System
Imports System.Reflection
Imports System.Security
Imports Microsoft.VisualBasic
Public Class MyFilterNameIgnoreCaseSample
Public Shared Sub Main()
Try
Dim myFilter As MemberFilter = Type.FilterNameIgnoreCase
Dim myType As Type = GetType(System.String)
Dim myMemberinfo1 As MemberInfo() = myType.FindMembers(MemberTypes.Constructor Or MemberTypes.Method, BindingFlags.Public Or BindingFlags.Static Or BindingFlags.Instance, myFilter, "C*")
Dim myMemberinfo2 As MemberInfo
For Each myMemberinfo2 In myMemberinfo1
Console.Write((ControlChars.NewLine + myMemberinfo2.Name))
Dim Mymembertypes As MemberTypes = myMemberinfo2.MemberType
Console.WriteLine((" is a " + Mymembertypes.ToString()))
Next myMemberinfo2
Catch e As ArgumentNullException
Console.Write("ArgumentNullException : " + e.Message.Tostring())
Catch e As SecurityException
Console.Write("SecurityException : " + e.Message.Tostring())
Catch e As Exception
Console.Write("Exception : " + e.Message.Tostring())
End Try
End Sub 'Main
End Class 'MyFilterNameIgnoreCaseSample
[C#]
using System;
using System.Reflection;
using System.Security;
public class MyFilterNameIgnoreCaseSample
{
public static void Main()
{
try
{
MemberFilter myFilter = Type.FilterNameIgnoreCase;
Type myType = typeof(System.String);
MemberInfo[] myMemberinfo1 = myType.FindMembers(MemberTypes.Constructor
|MemberTypes.Method, BindingFlags.Public | BindingFlags.Static |
BindingFlags.Instance, myFilter, "C*");
foreach (MemberInfo myMemberinfo2 in myMemberinfo1)
{
Console.Write("\n" + myMemberinfo2.Name);
MemberTypes Mymembertypes = myMemberinfo2.MemberType;
Console.WriteLine(" is a " + Mymembertypes.ToString());
}
}
catch(ArgumentNullException e)
{
Console.Write("ArgumentNullException : " + e.Message);
}
catch(SecurityException e)
{
Console.Write("SecurityException : " + e.Message);
}
catch(Exception e)
{
Console.Write("Exception : " + e.Message);
}
}
}
[C++]
#using <mscorlib.dll>
using namespace System;
using namespace System::Collections;
using namespace System::Reflection;
using namespace System::Security;
int main() {
try {
MemberFilter* myFilter = Type::FilterNameIgnoreCase;
Type* myType = __typeof(System::String);
MemberInfo* myMemberinfo1[] = myType->FindMembers(
static_cast<MemberTypes>(MemberTypes::Constructor |MemberTypes::Method),
static_cast<BindingFlags>(BindingFlags::Public | BindingFlags::Static | BindingFlags::Instance),
myFilter, S"C*");
IEnumerator* myEnum = myMemberinfo1->GetEnumerator();
while (myEnum->MoveNext()) {
MemberInfo* myMemberinfo2 = __try_cast<MemberInfo*>(myEnum->Current);
Console::Write(S"\n {0}", myMemberinfo2->Name);
MemberTypes Mymembertypes = myMemberinfo2->MemberType;
Console::WriteLine(S" is a {0}", __box(Mymembertypes));
}
} catch (ArgumentNullException* e) {
Console::Write(S"ArgumentNullException : {0}", e->Message);
} catch (SecurityException* e) {
Console::Write(S"SecurityException : {0}", e->Message);
} catch (Exception* e) {
Console::Write(S"Exception : {0}", e->Message);
}
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
参照
Type クラス | Type メンバ | System 名前空間 | FindMembers | MemberFilter