首页 > 其他分享 >自定义Attribute

自定义Attribute

时间:2022-08-16 14:13:22浏览次数:37  
标签:name 自定义 Author Attribute System version attr

[System.AttributeUsage(System.AttributeTargets.Class |  
                       System.AttributeTargets.Struct)  
]  
public class AuthorAttribute : System.Attribute  
{  
    private string name;  
    public double version;  
  
    public AuthorAttribute(string name)  
    {  
        this.name = name;  
        version = 1.0;  
    }  
} 

添加一个Attribute,从System.Attribute继承

使用的地方,在类的定义上面添加

[Author("P. Ackerman", version = 1.1)]  
class SampleClass  
{  
    // P. Ackerman's code goes here...  
}  

以上的代码,可以理解成

Author anonymousAuthorObject = new Author("P. Ackerman");  
anonymousAuthorObject.version = 1.1;  

但是注意这个代码的执行时机,是有人调用了GetCustomAttributes这样的方法,才会导致Attribute构造

如何检查

System.Attribute[] attrs = System.Attribute.GetCustomAttributes(typeof(SampleClass));
        // Displaying output.  
        foreach (System.Attribute attr in attrs)  
        {  
            if (attr is Author)  
            {  
                Author a = (Author)attr;  
                System.Console.WriteLine("   {0}, version {1:f}", a.GetName(), a.version);  
            }  
        }  

 

标签:name,自定义,Author,Attribute,System,version,attr
From: https://www.cnblogs.com/chenyingzuo/p/16591348.html

相关文章

  • 自定义listview向其中动态增加控件
    1privatevoidInitARListView()2{3intcount=arListView1.Items.Count;4arListView1.Items.Clear();5......
  • Android 自定义View - 柱状波形图 wave view
    前言柱状波形图是一种常见的图形。一个个柱子按顺序排列,构成一个波形图。柱子的高度由输入数据决定。如果输入的是音频的音量,则可得到一个声波图。在一些音频软件中,我......
  • Android 自定义圆形取色盘
    概述 这是一个自定义色盘,根据点,直线和圆的几何学加上hsv颜色模型完成 技术点几何:圆的标准方程式:(x-a)²+(y-b)²=r²直线一般方程式:已知直线上的两点P1(X1,Y1)P2(......
  • Xmind软件基础教程:如何在Xmind中创建自定义风格?
    Xmind2022Mac是一款非常便捷的制作思维导图的软件,制作思维导图可以帮助用户更高效的进行学习,在如何创建自定义风格模式呢?下面我们分享具体的操作步骤。1、在Mac电脑中打开......
  • 使用awescnb自定义博客园皮肤
    简述偶然在博客园闲逛的时候发现了一个看着很顺眼的博客皮肤,本着求索的精神想学习一下,结果在源码中发现了大神实现的awescnb博客园皮肤自定义功能,通过简单配置就可以切换......
  • Docker自定义镜像Tomcat8
    一、创建目录mkdir/haolb/mydockerfile/tomcat8二、将jdk和tomcat安装的压缩包拷贝进上一步目录三、在/haolb/mydockerfile/tomcat8目录下新建Dockerfile文件FROMcentos:......
  • el-popover 自定义偏移量
    <el-popoverwidth="124px" effect="light" :popper-options="{ modifiers:[{ name:'offset', options:{ offset:[200,200] } }] }" :show-arrow="fal......
  • VUE学习-自定义指令
    自定义指令有的情况下,你仍然需要对普通DOM元素进行底层操作,这时候就会用到自定义指令。<divid="directive-demo"> <inputv-focus/></div>全局注册Vue.direct......
  • django中的自定义分页器
    1.什么是自定义分页器当我们需要在前端页面展示的数据太多的时候,我们总不能将数据展示在一页上面吧!这时,我们就需要自定义一个分页器,将数据分成特定的页数进行展示,每一页展......
  • Android自定义矩形View中任意拖动圆点获取色温值(RectangleWheel)
    如图所示:矩形色温条中,拖动圆点获取当前色温值  1、自定义属性res->values下创建attrs.xml文件<declare-styleablename="RectangleWheel"><!--矩形宽高......