이 문서는 기계 번역을 이용하여 번역되었습니다. 문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

MemberInfo.GetCustomAttributes 메서드 (Boolean)

 

게시 날짜: 2016년 11월

파생된 클래스에서 재정의 되 면이 멤버에 적용 되는 모든 사용자 지정 특성의 배열을 반환 합니다.

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

public abstract object[] GetCustomAttributes(
	bool inherit
)

매개 변수

inherit
Type: System.Boolean

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

반환 값

Type: System.Object[]

이 멤버에 적용 되는 모든 사용자 지정 특성을 포함 하는 배열을 또는 정의 된 특성이 없는 경우 요소가 있는 배열입니다.

Exception Condition
InvalidOperationException

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

TypeLoadException

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

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

System_CAPS_note참고

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

사용자 지정 특성을 정의 하 고 사용 하 여 특성을 연결 하는 다음 예제에서는 MyClass.MyMethod, 런타임 시 특성을 검색 하 고 결과 표시 합니다.

using System;
using System.Reflection;

// Define a custom attribute with one named parameter.
[AttributeUsage(AttributeTargets.All)]
public class MyAttribute : Attribute
{
    private string myName;
    public MyAttribute(string name)
    {
        myName = name;
    }
    public string Name
    {
        get
        {
            return myName;
        }
    }
}

// Define a class that has the custom attribute associated with one of its members.
public class MyClass1
{
    [MyAttribute("This is an example attribute.")]
    public void MyMethod(int i)
    {
        return;
    }
}

public class MemberInfo_GetCustomAttributes
{
    public static void Main()
    {
        try
        {
            // Get the type of MyClass1.
            Type myType = typeof(MyClass1);
            // Get the members associated with MyClass1.
            MemberInfo[] myMembers = myType.GetMembers();

            // Display the attributes for each of the members of MyClass1.
            for(int i = 0; i < myMembers.Length; i++)
            {
                Object[] myAttributes = myMembers[i].GetCustomAttributes(true);
                if(myAttributes.Length > 0)
                {
                    Console.WriteLine("\nThe attributes for the member {0} are: \n", myMembers[i]);
                    for(int j = 0; j < myAttributes.Length; j++)
                        Console.WriteLine("The type of the attribute is {0}.", myAttributes[j]);
                }
            }
        }
        catch(Exception e)
        {
            Console.WriteLine("An exception occurred: {0}", e.Message);
        }
    }
}

.NET Framework
1.1 이후 사용 가능
이식 가능한 클래스 라이브러리
이식 가능한 .NET 플랫폼 에서 지원됨
Silverlight
2.0 이후 사용 가능
Windows Phone Silverlight
7.0 이후 사용 가능
맨 위로 이동
표시: