Type.FilterAttribute Field

Represents the member filter used on attributes. This field is read-only.

Namespace: System
Assembly: mscorlib (in mscorlib.dll)

static initonly MemberFilter^ FilterAttribute
public static final MemberFilter FilterAttribute
public static final var FilterAttribute : MemberFilter

This field holds a reference to the delegate used by the FindMembers method. The method encapsulated by this delegate takes two parameters: the first is a MemberInfo object and the second is an Object. The method determines whether the MemberInfo object matches the criteria specified by the Object. The Object may be assigned the value of any one of the fields on the classes FieldAttributes, MethodAttributes, or MethodImplAttributes.

For example, the Object can be assigned the value of a field from FieldAttributes such as Public. 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.

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()
      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 );


import System.*;
import System.Reflection.*;
import System.Security.*;

public class MyFilterAttributeSample
    public static void main(String[] args)
        try {
            MemberFilter myFilter = Type.FilterAttribute;
            Type myType = System.String.class.ToType();
            MemberInfo myMemberInfoArray[] =
                myType.FindMembers(MemberTypes.Constructor | MemberTypes.Method,
                BindingFlags.Public | BindingFlags.Static
                | BindingFlags.Instance, myFilter, MethodAttributes.SpecialName);
            for (int iCtr = 0; iCtr < myMemberInfoArray.length; iCtr++) {
                MemberInfo myMemberinfo = myMemberInfoArray[iCtr];
                Console.Write("\n" + myMemberinfo.get_Name());
                Console.Write(" is a "
                    + myMemberinfo.get_MemberType().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
} //MyFilterAttributeSample

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

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0

Community Additions