我已经开始使用像这样的定义类:
internal sealed class Defines { /// <summary> /// This constant is set to true iff the define DEBUG is set. /// </summary> public const bool Debug = #if DEBUG true; #else false; #endif }
我看到的优点是:
>确保我不会打破#if ..#else ..#endif不会被编译器检查的东西.
>我可以找到参考,看看它在哪里使用.
>有一个bool调试通常是有用的,定义代码更长/更麻烦.
可能的劣势我看到:
如果“定义”类在另一个程序集中,编译器将无法优化未使用的代码.这是为什么我做了内部的.
我没有任何其他的缺点吗?
[编辑]典型用法示例:
private readonly Permissions _permissions = Defines.Debug ? Permissions.NewAllTrue() : Permissions.NewAllFalse();
要么:
var str = string.Format(Defines.Debug ? "{0} {1} ({2})" : "{0} {1}",actual,text,advance);
解决方法
原文地址:https://www.jb51.cc/csharp/94837.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。