Type.FilterNameIgnoreCase Pole
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje filtr členů bez rozlišení velkých a malých písmen používaný u názvů. Toto pole je jen ke čtení.
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
Hodnota pole
Příklady
Následující příklad získá delegáta, předá ho jako parametr metodě a zobrazí metody a jejich atributy třídy, které začínají písmenem MemberFilter
FindMembers "c", a ignoruje String
případ.
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);
}
}
}
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
Poznámky
Toto pole obsahuje odkaz na delegáta používaného FindMembers metodou . Metoda zapouzdřená tímto delegátem přebírá dva parametry: první je objekt a druhá MemberInfo je Object
. Metoda určuje, jestli MemberInfo
objekt odpovídá kritériím zadaným objektem Object
. Je Object
přiřazena řetězcová hodnota, která může obsahovat koncový zástupný znak "*". Podporuje se pouze párování koncových řetězců se zástupnými znaky.
Například Object
parametru může být přiřazena hodnota "ByTe*". V takovém případě se při vyvolání delegáta vrátí hodnota true pouze v případě, že metoda reprezentovaná objektem má název, který začíná FilterName
MemberInfo
"byte" a ignoruje velká a malá písmena.