GetCustomAttributes 메서드 (Type, Boolean)
콘텐츠의 테이블 축소
콘텐츠의 테이블 확장
이 문서는 기계 번역을 이용하여 번역되었습니다. 문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

MemberInfo.GetCustomAttributes 메서드 (Type, Boolean)

 

게시: 2016년 7월

파생된 클래스에서 재정의 하는 경우이 멤버에 적용 하 고 식별 하 여 사용자 지정 특성의 배열을 반환 Type합니다.

네임스페이스:   System.Reflection
어셈블리:  mscorlib.dll의 mscorlib

public abstract object[] GetCustomAttributes(
	Type attributeType,
	bool inherit
)

매개 변수

attributeType
Type: System.Type

검색할 특성의 형식입니다. 이 형식에 할당할 수 있는 특성만 반환됩니다.

inherit
Type: System.Boolean

true 특성을 찾기 위해이 멤버의 상속 체인을 검색 하려면 그렇지 않으면 false합니다. 속성 및 이벤트;에이 매개 변수는 무시 됩니다. 설명을 참조 하십시오.

반환 값

Type: System.Object[]

이 멤버에 적용 하는 사용자 지정 특성의 배열이 나 배열에 할당할 수 있는 특성이 없는 경우 요소가 attributeType 적용 된 합니다.

Exception Condition
TypeLoadException

사용자 지정 특성 형식을 로드할 수 없습니다.

ArgumentNullException

경우 attributeTypenull합니다.

InvalidOperationException

이 멤버에 리플렉션 전용 컨텍스트에 로드 된 형식에 속합니다. 방법: 리플렉션 전용 컨텍스트에 어셈블리 로드을 참조하세요.

이 메서드는 inherit 속성 및 이벤트에 대 한 매개 변수입니다. 속성 및 이벤트에 대 한 특성에 대 한 상속 체인을 검색 하려면 적절 한 오버 로드를 사용 여 Attribute.GetCustomAttributes 메서드.

System_CAPS_note참고

.NET Framework 버전 2.0에서에서이 메서드는 특성은 새 메타 데이터 형식에 저장 된 경우 메서드, 생성자 및 형식에 보안 특성을 반환 합니다. 버전 2.0으로 컴파일된 어셈블리에는이 형식을 사용 합니다. 동적 어셈블리와.NET Framework의 이전 버전으로 컴파일된 어셈블리에 이전 XML 형식을 사용 합니다. 참조 선언적 보안 특성 내보내기합니다.

라는 클래스를 정의 하는 다음 예제에서는 BaseClass 하는 두 명의 상속 되지 않는 멤버가: 라는 스레드 정적 필드 total 는 CLS 규격이 아닌 메서드 MethodA합니다. 라는 클래스 DerivedClass 에서 상속 BaseClass 재정의 하 고 해당 MethodA 메서드. 특성이 없는 멤버에 적용 됩니다 DerivedClass합니다. 예제에서는 반복의 멤버 DerivedClass 확인 하려면 여부는 CLSCompliantAttribute 또는 ThreadStaticAttribute 에 적용 된 특성입니다. 때문에 inherittrue, 상속 계층 구조를 검색 하는 메서드 DerivedClass 지정 된 특성입니다. 예제에서 출력으로는 total 필드도 데코 레이트는 ThreadStaticAttribute 특성 및 MethodA 으로 데코 레이트 된 메서드는 CLSCompliantAttribute 특성입니다.

using System;

public class BaseClass
{
   [ThreadStatic] public int total;

   [CLSCompliant(false)] public virtual uint MethodA()
   {
      return (uint) 100;
   }
}

public class DerivedClass : BaseClass
{
   public override uint MethodA()
   {
      total++;
      return 200;
   }
}

public class Example
{
   public static void Main()
   {
      Type t = typeof(DerivedClass);
      Console.WriteLine("Members of {0}:", t.FullName);
      foreach (var m in t.GetMembers())
      {
         bool hasAttribute = false;
         Console.Write("   {0}: ", m.Name);
         if (m.GetCustomAttributes(typeof(CLSCompliantAttribute), true).Length > 0) {
            Console.Write("CLSCompliant");
            hasAttribute = true;
         }
         if (m.GetCustomAttributes(typeof(ThreadStaticAttribute), true).Length > 0) {
            Console.Write("ThreadStatic");
            hasAttribute = true;
         }
         if (! hasAttribute)
            Console.Write("No attributes");

         Console.WriteLine();
      }
   }
}
// The example displays the following output:
//       Members of DerivedClass:
//          MethodA: CLSCompliant
//          ToString: No attributes
//          Equals: No attributes
//          GetHashCode: No attributes
//          typeof: No attributes
//          .ctor: No attributes
//          total: ThreadStatic

.NET Framework
1.1 이후에 사용 가능
Portable Class Library
portable .NET platforms에서 지원 portable .NET platforms
Silverlight
2.0 이후에 사용 가능
Windows Phone Silverlight
7.0 이후에 사용 가능
맨 위로 이동
표시:
© 2016 Microsoft