• 知识点 Attributes


    1.c#预定预定义Attribute引入:
    示例:
    using System;
    public class AnyClass 
    {
        [Obsolete(
    "Don't use Old method, use New method"true)]
        
    static void Old( ) { }
        
    static void New( ) { }
        
    public static void Main( ) 
        {
            Old( );
        }
    }
    attribute说明:第一个参数是string类型,是一段关于这个方法的解释性文字;第二个参数是告诉编译器把依然使用这被标识的元素视为一种错误,这就意味着编译器会因此而产生一个警告。
    我们编译上面的程序时,会得到如下错误:AnyClass.Old()' is obsolete: 'Don't use Old method,  use New method'
    2.自定义Attribute
    C#中,attribute类都派生于System.Attribute类。
    示例:
    using System;
    public class HelpAttribute : Attribute
    {
        
    public HelpAttribute(String Descrition_in)
        {
            
    this.description = Description_in;
        }
        
    protected String description;
        
    public String Description 
        {
            
    get 
            {
                
    return this.description;       
            }            
        }    
    }
    [Help(
    "this is a do-nothing class")]
    public class AnyClass
    {
    }
    按惯例我们是用”Attribute“作为attribute类名的后缀,然而,当我们当我们把attribute绑定到某语言元素时,是不包含“Attribute“后缀的。编译器首先在System.Attribute的继承类中查找该attribute,如果没有找到,编译器会把“Attribute“追加到该attribute的名字后面,然后查找它。



  • 相关阅读:
    【C/C++】小坑们
    【CUDA】Windows 下常用函数头文件
    【OS】Heap & Stack
    【C/C++】Rotate Array
    【C/C++】泛型栈
    【IDE】我的花里胡哨VS
    【PAT】我要通过!
    【C/C++】内存基础
    【CUDA】Win10 + VS2017新 CUDA 项目配置
    【LeetCode】不同路径
  • 原文地址:https://www.cnblogs.com/raysbo/p/1230157.html
Copyright © 2020-2023  润新知