Type.FilterAttribute 필드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
특성에 사용되는 멤버 필터를 나타냅니다. 이 필드는 읽기 전용입니다.
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
필드 값
예제
다음 예제에서는 대리자를 가져오고 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 특성으로 데코 레이트 된 경우에만가 반환 됩니다.