Type.FilterAttribute 필드

특성에 사용되는 멤버 필터를 나타냅니다. 이 필드는 읽기 전용입니다.

네임스페이스: System
어셈블리: mscorlib(mscorlib.dll)

구문

‘선언
Public Shared ReadOnly FilterAttribute As MemberFilter
‘사용 방법
Dim value As MemberFilter

value = Type.FilterAttribute
public static readonly MemberFilter FilterAttribute
public:
static initonly MemberFilter^ FilterAttribute
public static final MemberFilter FilterAttribute
public static final var FilterAttribute : MemberFilter

설명

이 필드는 FindMembers 메서드에서 사용하는 대리자에 대한 참조를 유지합니다. 이 대리자로 캡슐화된 메서드는 두 개의 매개 변수를 취합니다. 첫째 매개 변수는 MemberInfo 개체이고 둘째 매개 변수는 Object입니다. 메서드는 MemberInfo 개체가 Object로 지정된 기준과 일치하는지 여부를 확인합니다. ObjectFieldAttributes, MethodAttributes 또는 MethodImplAttributes 클래스에 있는 필드 중 하나의 값을 할당받을 수 있습니다.

예를 들어, ObjectFieldAttributes에서 나온 Public 등의 필드 값을 할당받을 수 있습니다. 이 경우, FilterAttribute 대리자가 호출되면 MemberInfo 개체가 나타내는 메서드가 메타데이터의 public 필드 특성을 사용하여 데코레이트된 경우에만 true가 반환됩니다.

예제

다음 예제에서는 FilterAttribute 대리자를 가져와서 FindMembers 메서드에 매개 변수로 전달하고 지정된 멤버와 이 멤버의 특성을 표시합니다.

Imports System
Imports System.Reflection
Imports System.Security
Imports Microsoft.VisualBasic

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 'Main
End Class 'MyFilterAttributeSample
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); 
        } 
    }   
}
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 );
   }

}
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

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

참고 항목

참조

Type 클래스
Type 멤버
System 네임스페이스
FindMembers
MemberFilter