Type.FilterAttribute 필드

정의

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

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 

필드 값

MemberFilter

예제

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

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

설명

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

예를 들어에 Object Public과 같은 필드 값을 할당할 수 있습니다 FieldAttributes . 이 경우 대리자를 호출 하면 FilterAttribute true 개체가 나타내는 메서드가 MemberInfo 메타 데이터의 public field 특성으로 데코 레이트 된 경우에만가 반환 됩니다.

적용 대상

추가 정보