• AttributeUsage 定义/控制自定义属性的使用


    AttributeUsage 类是另一个预定义的属性类,以帮助我们控制自定义属性的使用。亦即我们可以定义自定义属性类的属性。这个类描述了如何使用自定义的属性类。AttributeUsage有三个数据属性可用以修饰我们的自定义的属性: 

    ValidOn

    定义了自定义属性在哪些程序实体上可被使用。这个可使用实体的列表可通过AttributeTargets枚举类型的OR操作进行设置

    [AttributeUsage(AttributeTargets.Class)]
    public class ClassTargetAttribute : Attribute
    {

    }
    [ClassTarget]只能在Class上使用!

    AttributeTargets的取值:

    标记

    用途

    All

    用于任何地方

    Assembly

    用于组合体

    Class

    用于类

    Contructor

    用于构造函数

    Delegate

    用于委托

    Enum

    用于枚举

    Event

    用于事件

    Field

    用于事件

    Interface

    用于接口

    Method

    用于方法

    Module

    用于模块

    Parameter

    用于参数

    Property

    用于属性

    Return Value

    用于返回值

    Struct

    用于结构

    AllowMultiple

    定义了是否可在同一个程序实体上同时使用多个属性(同一属性使用多次)进行修饰

    AllowMultiple=true时,可以使用多次,AllowMultiple=false时,不能使用多次。

    Inherited

    定义了自定义属性的修饰是否可由被修饰类的派生类继承.

    Inherited=false时,该属性类的子类不能用反射拿到该类的属性。

    例:

    [AttributeUsage( AllowMultiple = false)]
    public class A : Attribute
    {

    }

    public class B: A
    {

    }
    当属性A的AllowMultiple =flase时,现在通过反射在B类上取不到A上面的属性。


  • 相关阅读:
    公司程序升级 win2008
    软件
    crystal 2008升级(草稿)
    crystalreportviewers12的一些修改
    Crystal Report 2008
    deep learning 相关资料 Lei
    如何打印出符合acm要求的pdf Lei
    matlab常用命令 Lei
    Wilson Interval Lei
    Perl / Shell 脚本语言 Lei
  • 原文地址:https://www.cnblogs.com/ycdx2001/p/1423316.html
Copyright © 2020-2023  润新知