C# 特性(Attribute)
2021-06-05 08:05
标签:标记 code OLE line pre fun col ring read .net 框架定义了三种预定义特性(Attribute) 1、AttributeUsage 预定义特性 AttributeUsage 描述了如何使用一个自定义特性类。它规定了特性可应用到的项目的类型。 2、Conditional 这个预定义特性标记了一个条件方法,其执行依赖于指定的预处理标识符。 它会引起方法调用的条件编译,取决于指定的值,比如 Debug 或 Trace。 3、Obsolete 这个预定义特性标记了不应被使用的程序实体。它可以让您通知编译器丢弃某个特定的目标元素。例如,当一个新方法被用在一个类中,但是您仍然想要保持类中的旧方法,您可以通过显示一个应该使用新方法,而不是旧方法的消息,来把它标记为 obsolete(过时的)。 C# 特性(Attribute) 标签:标记 code OLE line pre fun col ring read 原文地址:https://www.cnblogs.com/yuanshou/p/10807710.html#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();
}
}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();
}
}