c#(特性)

c#

特性

Obsolete特性
  • Obsolete特性可以用于标记一个被弃用的方法,并给予用户一定的提示
  • 用法在方法前加上[Obsolete(“提示”,bool a)]第二个参数a表示是否将其标记为一个错误,而不仅仅是警告(第二个参数可以不写,默认false)
  • 举例:
[Obsolete("这个方法已经被弃用了,建议使用新的方法:NewMethod"),false]
static void OldMethod()
{
	Console.WriteLind("旧方法");
}
static void NewMethod()
{
	Console.WriteLind("新方法");
}
Conditional特性
  • Conditional特性可以用于控制一个方法在整个程序中的生效与否,但并不影响这个方法被编译放进程序集
  • 用法在方法前加上[Obsolete(“定义的宏”)],当作为参数的宏被定义时,该方法在程序中就会生效,反之若该宏没被定义,则该方法在当前的程序中不会生效。
  • 例子
#define IsTest
[Conditional("IsTest")]
static void Test1()
{
	Console.WriteLine("test1");
}//这种情况下 Test1会生效
[Conditional("IsTest")]
static void Test1()
{
	Console.WriteLine("test1");
}//这种情况下 Test1不会生效
调用者信息特性
  • 调用者信息特性有三个,CallerFilePath(文件路径),CallerLineNumber(代码行数),CallerMenmberName(调用成员)
  • 将特性标签用中括号加在函数参数的前面,系统会自动传进参数(不过最好设置默认值)
  • 例如
static void PrintOut(string str,[CallerFilePath] string fileName = "",[CallerLineNumber] int lineNumber = 0,[CallerMenmberName] string methodName = "")
{
	Console.WriteLine(str);
	Console.WriteLine(fileName);
	Console.WriteLine(lineNumber);
	Console.WriteLine(methodName);
}
特性
  • 这个特性是给方法的特性,允许方法在debug时直接跳过单步调试环节,也就是说单步调试按钮不会进入被该特性标记的方法
  • 使用方法就是在方法前加上一个[DebuggerStepThrough]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值