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,忽略大小寫。