Module.GetCustomAttributes 메서드

정의

사용자 지정 특성을 반환합니다.

오버로드

GetCustomAttributes(Boolean)

모든 사용자 지정 특성을 반환합니다.

GetCustomAttributes(Type, Boolean)

지정한 형식의 사용자 지정 특성을 가져옵니다.

GetCustomAttributes(Boolean)

Source:
Module.cs
Source:
Module.cs
Source:
Module.cs

모든 사용자 지정 특성을 반환합니다.

public virtual object[] GetCustomAttributes (bool inherit);

매개 변수

inherit
Boolean

이 인수는 이 형식의 개체에 대해 무시됩니다.

반환

Object[]

모든 사용자 지정 특성을 포함하는 Object 형식의 배열입니다.

구현

예제

다음 예제에서는 지정된 검색 조건과 일치하는 모듈 이름을 표시합니다.

using System;
using System.Reflection;
//Define a module-level attribute.
[module: ReflectionModule_Examples.MySimpleAttribute("module-level")]
namespace ReflectionModule_Examples
{
    class MyMainClass
    {
        static void Main()
        {
            Module[] moduleArray;
            moduleArray = typeof(MyMainClass).Assembly.GetModules(false);
            // In a simple project with only one module, the module at index
            // 0 will be the module containing these classes.
            Module myModule = moduleArray[0];
            object[] attributes;
            attributes = myModule.GetCustomAttributes(true);
            foreach(Object o in attributes)
            {
                Console.WriteLine("Found this attribute on myModule: {0}.", o.ToString());
            }
        }
    }
    //A very simple custom attribute.
    [AttributeUsage(AttributeTargets.Class | AttributeTargets.Module)]
    public class MySimpleAttribute : Attribute
    {
        private string name;

        public MySimpleAttribute(string newName)
        {
            name = newName;
        }
    }
}

적용 대상

.NET 9 및 기타 버전
제품 버전
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

GetCustomAttributes(Type, Boolean)

Source:
Module.cs
Source:
Module.cs
Source:
Module.cs

지정한 형식의 사용자 지정 특성을 가져옵니다.

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

매개 변수

attributeType
Type

가져올 특성의 형식입니다.

inherit
Boolean

이 인수는 이 형식의 개체에 대해 무시됩니다.

반환

Object[]

지정된 형식의 모든 사용자 지정 특성을 포함하는 Object 형식의 배열입니다.

구현

예외

attributeType이(가) null인 경우

attributeType이 런타임에 제공되는 Type 개체가 아닌 경우. 예를 들어 attributeTypeTypeBuilder 개체인 경우입니다.

예제

다음 예제에서는 지정된 검색 조건과 일치하는 지정된 형식의 모듈 이름을 표시합니다.

using System;
using System.Reflection;
//Define a module-level attribute.
[module: ReflectionModule_Examples.MySimpleAttribute("module-level")]
namespace ReflectionModule_Examples
{
    class MyMainClass
    {
        static void Main()
        {
            Module[] moduleArray;
            moduleArray = typeof(MyMainClass).Assembly.GetModules(false);
            // In a simple project with only one module, the module at index
            // 0 will be the module containing these classes.
            Module myModule = moduleArray[0];
            object[] attributes;
            //Get only MySimpleAttribute attributes for this module.
            attributes = myModule.GetCustomAttributes(
                myModule.GetType("ReflectionModule_Examples.MySimpleAttribute", false, false),
                true);
            foreach(Object o in attributes)
            {
                Console.WriteLine("Found this attribute on myModule: {0}", o.ToString());
            }
        }
    }

    // Define a very simple custom attribute
    [AttributeUsage(AttributeTargets.Class | AttributeTargets.Module)]
    public class MySimpleAttribute : Attribute
    {
        private string name;

        public MySimpleAttribute(string newName)
        {
            name = newName;
        }
    }
}

적용 대상

.NET 9 및 기타 버전
제품 버전
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1