zoukankan      html  css  js  c++  java
  • C# 特性(Attribute)

    .net 框架定义了三种预定义特性(Attribute)

    1、AttributeUsage 

    预定义特性 AttributeUsage 描述了如何使用一个自定义特性类。它规定了特性可应用到的项目的类型。

    2、Conditional 

    这个预定义特性标记了一个条件方法,其执行依赖于指定的预处理标识符。

    它会引起方法调用的条件编译,取决于指定的值,比如 Debug 或 Trace

    #define DEBUG
    //此处DEBUG是否定义决定了后面的[Conditional("DEBUG")]下面的函数Message(string msg) 是否执行 using System; using System.Diagnostics; public class Myclass { [Conditional("DEBUG")] public static void Message(string msg) { Console.WriteLine(msg); } } class Test { static void function1() { Myclass.Message("In Function 1."); function2(); } static void function2() { Myclass.Message("In Function 2."); } public static void Main() { Myclass.Message("In Main function."); function1(); Console.ReadKey(); } }

    3、Obsolete

    这个预定义特性标记了不应被使用的程序实体。它可以让您通知编译器丢弃某个特定的目标元素。例如,当一个新方法被用在一个类中,但是您仍然想要保持类中的旧方法,您可以通过显示一个应该使用新方法,而不是旧方法的消息,来把它标记为 obsolete(过时的)。

    using System;
    public class MyClass
    {
       [Obsolete("Don't use OldMethod, use NewMethod instead", true)]
    //此处obsolete中的参数,true代表此处是错误代码,false代表此处不处理
       static void OldMethod()
       { 
          Console.WriteLine("It is the old method");
       }
       static void NewMethod()
       { 
          Console.WriteLine("It is the new method"); 
       }
       public static void Main()
       {
          OldMethod();
          NewMethod();
       }
    }
  • 相关阅读:
    软阈值迭代算法(ISTA)和快速软阈值迭代算法(FISTA)
    伍德伯里矩阵恒等式(Woodbury matrix identity)
    压缩感知:一种新型亚采样技术
    运输层--------运输层与网络层的关系、UDP、TCP
    单链表的基本操作(二)
    单链表的基本操作(一)
    c++中的数据类型转换
    链表总的首元结点、头结点、头指针的区别
    封装设计基础知识点
    git的使用总结
  • 原文地址:https://www.cnblogs.com/yuanshou/p/10807710.html
Copyright © 2011-2022 走看看