zoukankan      html  css  js  c++  java
  • 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上面的属性。


  • 相关阅读:
    Serverless Wordpress 系列建站教程(五)
    剑指 Offer 13. 机器人的运动范围
    剑指 Offer 12. 矩阵中的路径
    网络相关知识
    网络相关知识(TCP部分)
    笔试中的流程控制题
    笔试:一些怕忘掉的基础东西
    笔试:处理输入基础
    设计模式:行为型->观察者模式
    设计模式:结构型->代理模式
  • 原文地址:https://www.cnblogs.com/ycdx2001/p/1423316.html
Copyright © 2011-2022 走看看