Type.FilterNameIgnoreCase 字段
表示用于名称的不区分大小写的成员筛选器。此字段为只读。
**命名空间:**System
**程序集:**mscorlib(在 mscorlib.dll 中)
语法
声明
Public Shared ReadOnly FilterNameIgnoreCase As MemberFilter
用法
Dim value As MemberFilter
value = Type.FilterNameIgnoreCase
public static readonly MemberFilter FilterNameIgnoreCase
public:
static initonly MemberFilter^ FilterNameIgnoreCase
public static final MemberFilter FilterNameIgnoreCase
public static final var FilterNameIgnoreCase : MemberFilter
备注
此字段含有对 FindMembers 方法使用的委托的引用。此委托封装的方法使用两个参数:第一个是 MemberInfo 对象,第二个是 Object。此方法确定 MemberInfo 对象是否与 Object 指定的判据相匹配。给 Object 分配了一个字符串值,此字符串值可能包含一个尾部通配符字符“*”。仅支持通配符结尾字符串匹配。
例如,可能分配给 Object 值“ByTe*”。在这种情况下,当调用 FilterName 委托时,只有当 MemberInfo 对象表示的方法具有以“byte”开始的名称,它才返回真,不区分大小写。
示例
下面的示例获取 MemberFilter 委托,将其作为参数传递给 FindMembers 方法,然后显示这些方法及 String 类的以字母“c”或“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
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);
}
}
}
using namespace System;
using namespace System::Collections;
using namespace System::Reflection;
using namespace System::Security;
int main()
{
try
{
MemberFilter^ myFilter = Type::FilterNameIgnoreCase;
Type^ myType = System::String::typeid;
array<MemberInfo^>^myMemberinfo1 = myType->FindMembers( static_cast<MemberTypes>(MemberTypes::Constructor | MemberTypes::Method), static_cast<BindingFlags>(BindingFlags::Public | BindingFlags::Static | BindingFlags::Instance), myFilter, "C*" );
IEnumerator^ myEnum = myMemberinfo1->GetEnumerator();
while ( myEnum->MoveNext() )
{
MemberInfo^ myMemberinfo2 = safe_cast<MemberInfo^>(myEnum->Current);
Console::Write( "\n {0}", myMemberinfo2->Name );
MemberTypes Mymembertypes = myMemberinfo2->MemberType;
Console::WriteLine( " is a {0}", Mymembertypes );
}
}
catch ( ArgumentNullException^ e )
{
Console::Write( "ArgumentNullException : {0}", e->Message );
}
catch ( SecurityException^ e )
{
Console::Write( "SecurityException : {0}", e->Message );
}
catch ( Exception^ e )
{
Console::Write( "Exception : {0}", e->Message );
}
}
import System.*;
import System.Reflection.*;
import System.Security.*;
public class MyFilterNameIgnoreCaseSample
{
public static void main(String[] args)
{
try {
MemberFilter myFilter = Type.FilterNameIgnoreCase;
Type myType = System.String.class.ToType();
MemberInfo myMemberInfo1[] =
myType.FindMembers(MemberTypes.Constructor | MemberTypes.Method,
BindingFlags.Public | BindingFlags.Static
| BindingFlags.Instance, myFilter, "C*");
for (int iCtr = 0; iCtr < myMemberInfo1.length; iCtr++) {
MemberInfo myMemberInfo2 = myMemberInfo1[iCtr];
Console.Write("\n" + myMemberInfo2.get_Name());
MemberTypes myMemberTypes = myMemberInfo2.get_MemberType();
Console.WriteLine(" is a " + myMemberTypes.ToString());
}
}
catch (ArgumentNullException e) {
Console.Write("ArgumentNullException : " + e.get_Message());
}
catch (SecurityException e) {
Console.Write("SecurityException : " + e.get_Message());
}
catch (System.Exception e) {
Console.Write("Exception : " + e.get_Message());
}
} //main
} //MyFilterNameIgnoreCaseSample
平台
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 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求。
版本信息
.NET Framework
受以下版本支持:2.0、1.1、1.0