이 설명서는 보관되지만 유지 되지 않습니다.

Attribute.GetCustomAttribute 메서드 (Module, Type)

업데이트: 2007년 11월

모듈에 적용된 사용자 지정 특성을 검색합니다. 매개 변수에는 모듈과 검색할 사용자 지정 특성의 형식을 지정합니다.

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

public static Attribute GetCustomAttribute(
	Module element,
	Type attributeType
)
public static Attribute GetCustomAttribute(
	Module element,
	Type attributeType
)
public static function GetCustomAttribute(
	element : Module, 
	attributeType : Type
) : Attribute

매개 변수

element
형식: System.Reflection.Module
이식 가능한 실행 파일을 설명하는 Module 클래스에서 파생된 개체입니다.
attributeType
형식: System.Type
검색할 사용자 지정 특성의 형식, 즉 기본 형식입니다.

반환 값

형식: System.Attribute
element에 적용된 attributeType 형식의 단일 사용자 지정 특성에 대한 참조입니다. 그러한 특성이 없는 경우에는 null입니다.

예외상황
ArgumentNullException

element 또는 attributeTypenull인 경우

ArgumentException

attributeTypeAttribute에서 파생되지 않은 경우

AmbiguousMatchException

요청된 특성이 둘 이상 발견된 경우

다음 코드 예제에서는 Module을 매개 변수로 선택해서 GetCustomAttribute 메서드를 사용하는 방법을 보여 줍니다.

using System;
using System.Diagnostics;

// Add the Debuggable attribute to the module.
[module:Debuggable(true, false)]
namespace IsDef2CS
{
    public class DemoClass
    {
        static void Main(string[] args)
        {
            // Get the class type to access its metadata.
            Type clsType = typeof(DemoClass);
            // See if the Debuggable attribute is defined for this module.
            bool isDef = Attribute.IsDefined(clsType.Module, 
                typeof(DebuggableAttribute));
            // Display the result.
            Console.WriteLine("The Debuggable attribute {0} " +
                "defined for Module {1}.",
                isDef ? "is" : "is not",
                clsType.Module.Name);
            // If the attribute is defined, display the JIT settings.
            if (isDef)
            {
                // Retrieve the attribute itself.
                DebuggableAttribute dbgAttr = (DebuggableAttribute)
                    Attribute.GetCustomAttribute(clsType.Module, 
                    typeof(DebuggableAttribute));
                if (dbgAttr != null)
                {
                    Console.WriteLine("JITTrackingEnabled is {0}.",
                        dbgAttr.IsJITTrackingEnabled);
                    Console.WriteLine("JITOptimizerDisabled is {0}.",
                        dbgAttr.IsJITOptimizerDisabled);
                }
                else
                    Console.WriteLine("The Debuggable attribute " +
                        "could not be retrieved.");
            }
        }
    }
}

/*
 * Output:
 * The Debuggable attribute is defined for Module IsDef2CS.exe.
 * JITTrackingEnabled is True.
 * JITOptimizerDisabled is False.
 */


package IsDef2CS;
import System.*;
import System.Diagnostics.*;

// Add the Debuggable attribute to the module.
/** @module Debuggable(true, false)
 */
class DemoClass
{
    public static void main(String[] args)
    {
        // Get the class type to access its metadata.
        Type clsType = DemoClass.class.ToType();
        // See if the Debuggable attribute is defined for this module.
        boolean isDef = Attribute.IsDefined(clsType.get_Module(), 
            DebuggableAttribute.class.ToType());
        // Display the result.
        Console.WriteLine("The Debuggable attribute {0} " 
            + "defined for Module {1}.", (isDef) ? "is" : "is not", 
            clsType.get_Module().get_Name());
        // If the attribute is defined, display the JIT settings.
        if (isDef) {
            // Retrieve the attribute itself.
            DebuggableAttribute dbgAttr = ((DebuggableAttribute)
                (Attribute.GetCustomAttribute(clsType.get_Module(), 
                DebuggableAttribute.class.ToType())));
            if (dbgAttr != null) {
                Console.WriteLine("JITTrackingEnabled is {0}.", 
                    (System.Boolean)dbgAttr.get_IsJITTrackingEnabled());
                Console.WriteLine("JITOptimizerDisabled is {0}.", 
                    (System.Boolean)dbgAttr.get_IsJITOptimizerDisabled());
            }
            else {
                Console.WriteLine("The Debuggable attribute " 
                    + "could not be retrieved.");
            }
        }
    } //main
} //DemoClass

/*
   Output:
   The Debuggable attribute is defined for Module IsDef2CS.exe.
   JITTrackingEnabled is True.
   JITOptimizerDisabled is False.
*/


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360

.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

.NET Framework

3.5, 3.0, 2.0, 1.1, 1.0에서 지원

.NET Compact Framework

3.5, 2.0, 1.0에서 지원

XNA Framework

2.0, 1.0에서 지원
표시: