zoukankan      html  css  js  c++  java
  • 知识点 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的名字后面,然后查找它。



  • 相关阅读:
    VS2015 C#取消最大化按钮,设置鼠标不可调整窗体大小
    C++调用C#编写的DLL【转】
    C#封装成DLL,并在C#中调用
    ubuntu永久修改主机名
    Anaconda3的安装和汉化
    windows下面安装Python和pip教程
    pip install bs4安装失败
    Sublime text 3中文汉化教程
    Vmware安装ubuntu详细教程
    Sublime text3修改tab键为缩进为四个空格
  • 原文地址:https://www.cnblogs.com/raysbo/p/1230157.html
Copyright © 2011-2022 走看看