System.Attribute.GetCustomAttributes 方法 (Module, Boolean)

方法描述

检索应用于模块的自定义特性的数组。 参数指定模块及忽略的搜索选项。

语法定义(C# System.Attribute.GetCustomAttributes 方法 (Module, Boolean) 的用法)

public static Attribute[] GetCustomAttributes(
	Module element,
	bool inherit
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
element System-Reflection-Module 一个从 Module 类派生的对象,该类描述可移植的可执行文件。
inherit System-Boolean 此参数被忽略,并且不会影响此方法的操作。
返回值 System.Attribute[] 一个 Attribute 数组,包含应用于 element 的自定义特性;如果不存在此类自定义特性,则为空数组。

提示和注释

如果 inherit 为 true,则返回值包含 element 的祖先的自定义特性。

System.Attribute.GetCustomAttributes 方法 (Module, Boolean)例子

下面的代码示例演示 GetCustomAttributes 的用法,采用 Module 作为参数。

using System;
using System.Reflection;
using System.ComponentModel;

// Assign some attributes to the module.
[module:Description("A sample description")]

// Set the module's CLSCompliant attribute to false
// The CLSCompliant attribute is applicable for /target:module.
[module:CLSCompliant(false)]

namespace CustAttrs2CS {
    class DemoClass {
        static void Main(string[] args) {
            Type clsType = typeof(DemoClass);
            // Get the Module type to access its metadata.
            Module module = clsType.Module;

            // Iterate through all the attributes for the module.
            foreach(Attribute attr in Attribute.GetCustomAttributes(module)) {
                // Check for the Description attribute.
                if (attr.GetType() == typeof(DescriptionAttribute))
                    Console.WriteLine("Module {0} has the description " +
                        "\"{1}\".", module.Name, 
                        ((DescriptionAttribute)attr).Description);
                // Check for the CLSCompliant attribute.
                else if (attr.GetType() == typeof(CLSCompliantAttribute))
                    Console.WriteLine("Module {0} {1} CLSCompliant.",
                        module.Name,
                        ((CLSCompliantAttribute)attr).IsCompliant ? 
                            "is" : "is not");
            }
        }
    }
}

/*
 * Output:
 * Module CustAttrs2CS.exe is not CLSCompliant.
 * Module CustAttrs2CS.exe has the description "A sample description".
 */

异常

异常 异常描述
ArgumentNullException element 或 attributeType 为 null。

命名空间

namespace: System

程序集: mscorlib(在 mscorlib.dll 中)

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。