Type.FilterNameIgnoreCase 字段
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示用于名称的不区分大小写的成员筛选器。 此字段为只读。
public: static initonly System::Reflection::MemberFilter ^ FilterNameIgnoreCase;
public static readonly System.Reflection.MemberFilter FilterNameIgnoreCase;
staticval mutable FilterNameIgnoreCase : System.Reflection.MemberFilter
Public Shared ReadOnly FilterNameIgnoreCase As MemberFilter
字段值
示例
以下示例获取 MemberFilter
委托,将其作为参数传递给 FindMembers 方法,并显示以字母“c”开头的 String
类的方法及其属性,而不考虑大小写。
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 );
}
}
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);
}
}
}
open System
open System.Reflection
open System.Security
try
let myFilter = Type.FilterNameIgnoreCase
let myType = typeof<string>
let myMemberinfo1 =
myType.FindMembers(MemberTypes.Constructor ||| MemberTypes.Method, BindingFlags.Public ||| BindingFlags.Static ||| BindingFlags.Instance, myFilter, "C*")
for myMemberinfo2 in myMemberinfo1 do
printf "\n{myMemberinfo2.Name}"
myMemberinfo2.MemberType
|> printfn " is a %O"
with
| :? ArgumentNullException as e ->
printf $"ArgumentNullException : {e.Message}"
| :? SecurityException as e ->
printf $"SecurityException : {e.Message}"
| e ->
printf $"Exception : {e.Message}"
Imports System.Reflection
Imports System.Security
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
End Class
注解
此字段保存对 方法使用的委托的 FindMembers 引用。 此委托封装的方法采用两个参数:第一个 MemberInfo 是 对象,第二个 Object
是 。 方法确定 对象是否 MemberInfo
与 指定的 Object
条件匹配。
Object
为 分配了一个字符串值,其中可能包括尾随“*”通配符。 仅支持通配符结束字符串匹配。
例如, Object
可以为 分配值“ByTe*”。 在这种情况下,当调用委托时 FilterName
,仅当对象表示 MemberInfo
的方法的名称以“byte”开头(忽略大小写)时,它才会返回 true。