Type.FilterAttribute Campo
Definizione
Rappresenta il filtro membro usato sugli attributi.Represents the member filter used on attributes. Questo campo è di sola lettura.This field is read-only.
public: static initonly System::Reflection::MemberFilter ^ FilterAttribute;
public static readonly System.Reflection.MemberFilter FilterAttribute;
staticval mutable FilterAttribute : System.Reflection.MemberFilter
Public Shared ReadOnly FilterAttribute As MemberFilter
Valore del campo
Esempio
Nell'esempio seguente viene ottenuto il FilterAttribute
delegato, passato come parametro al FindMembers metodo e vengono visualizzati i membri specificati e i relativi attributi.The following example gets the FilterAttribute
delegate, passes it as a parameter to the FindMembers method, and displays the specified members and their attributes.
using namespace System;
using namespace System::Collections;
using namespace System::Reflection;
using namespace System::Security;
int main()
{
try
{
MemberFilter^ myFilter = Type::FilterAttribute;
Type^ myType = System::String::typeid;
array<MemberInfo^>^myMemberInfoArray = myType->FindMembers( static_cast<MemberTypes>(MemberTypes::Constructor | MemberTypes::Method), static_cast<BindingFlags>(BindingFlags::Public | BindingFlags::Static | BindingFlags::Instance), myFilter, MethodAttributes::SpecialName );
IEnumerator^ myEnum = myMemberInfoArray->GetEnumerator();
while ( myEnum->MoveNext() )
{
MemberInfo^ myMemberinfo = safe_cast<MemberInfo^>(myEnum->Current);
Console::Write( "\n {0}", myMemberinfo->Name );
Console::Write( " is a {0}", myMemberinfo->MemberType );
}
}
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 MyFilterAttributeSample
{
public static void Main()
{
try
{
MemberFilter myFilter = Type.FilterAttribute;
Type myType = typeof(System.String);
MemberInfo[] myMemberInfoArray = myType.FindMembers(MemberTypes.Constructor
|MemberTypes.Method, BindingFlags.Public | BindingFlags.Static |
BindingFlags.Instance, myFilter, MethodAttributes.SpecialName);
foreach (MemberInfo myMemberinfo in myMemberInfoArray)
{
Console.Write ("\n" + myMemberinfo.Name);
Console.Write (" is a " + myMemberinfo.MemberType.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 MyFilterAttributeSample
Public Shared Sub Main()
Try
Dim myFilter As MemberFilter = Type.FilterAttribute
Dim myType As Type = GetType(System.String)
Dim myMemberInfoArray As MemberInfo() = myType.FindMembers(MemberTypes.Constructor Or MemberTypes.Method, BindingFlags.Public Or BindingFlags.Static Or BindingFlags.Instance, myFilter, MethodAttributes.SpecialName)
Dim myMemberinfo As MemberInfo
For Each myMemberinfo In myMemberInfoArray
Console.Write(ControlChars.newline + myMemberinfo.Name)
Console.Write(" is a " + myMemberinfo.MemberType.ToString())
Next myMemberinfo
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
Commenti
Questo campo include un riferimento al delegato utilizzato dal FindMembers metodo.This field holds a reference to the delegate used by the FindMembers method. Il metodo incapsulato da questo delegato accetta due parametri: il primo è un MemberInfo oggetto e il secondo è Object
.The method encapsulated by this delegate takes two parameters: the first is a MemberInfo object and the second is an Object
. Il metodo determina se l' MemberInfo
oggetto corrisponde ai criteri specificati da Object
.The method determines whether the MemberInfo
object matches the criteria specified by the Object
. Object
A può essere assegnato il valore di uno dei campi delle classi FieldAttributes , MethodAttributes o MethodImplAttributes .The Object
may be assigned the value of any one of the fields on the classes FieldAttributes, MethodAttributes, or MethodImplAttributes.
È ad esempio Object
possibile assegnare il valore di un campo, ad esempio FieldAttributes
public.For example, the Object
can be assigned the value of a field from FieldAttributes
such as Public. In tal caso, quando il FilterAttribute
delegato viene richiamato, viene restituito true
solo se il metodo rappresentato dall' MemberInfo
oggetto è decorato con l'attributo di campo public nei metadati.In that case, when the FilterAttribute
delegate is invoked, it will return true
only if the method represented by the MemberInfo
object is decorated with the public field attribute in metadata.