我希望我的核心程序集不会暴露某个类,我仍然希望能够测试它.我怎样才能做到这一点 ?
我知道C#(和.NET一般)在属性上很重要.然而,尽管我已用C#编程多年,但我还没有发现自己曾经使用它们.有人会让我开始使用它们,并解释哪些是最好的使用它们?
谢谢
我正在寻找可以通过给加载器,JIT编译器或ngen提供提示来确保我的.Net应用程序的最佳运行时性能的属性.
例如,我们有DebuggableAttribute,应设置为不调试,不禁用优化以获得最佳性能.
[Debuggable(false, false)]
Run Code Online (Sandbox Code Playgroud)
还有其他我应该知道的吗?
可能重复:
C#中最有用的属性
我总是觉得我缺少可以通过简单地将属性应用于类,方法,属性等而在.Net中获得的功能.智能感知无法显示所有适当的属性,因为它们通常可以广泛应用于场景.
这是我喜欢使用的几个属性:
[DebuggerHidden] - 将此放置在方法上可防止Visual Studio调试器插入代码.如果您有一个不断触发和中断调试的事件,这将非常有用.
[EditorBrowsable(EditorBrowsableState.Never)] - 隐藏intellisense中的方法.我不经常使用它,但它在构建可重用组件时很方便,并且您想隐藏一些测试或调试方法.
我想看看其他人在使用什么,以及人们有什么提示.
可能重复:
C#中最有用的属性
除了:
[DefaultValue(100)]
[Description("Some descriptive field here")]
public int MyProperty{get; set;}
Run Code Online (Sandbox Code Playgroud)
什么其他C#属性对于属性有用,在学习这些之后我觉得我错过了.
相关问题
我有一个简单的单线方法,我不希望在堆栈跟踪中看到:这可能吗?也许用属性标记它?
只是为了澄清,我不打算在调试器中打印跟踪,重新抛出或自动步进.我希望方法首先不显示在跟踪中,因为跟踪由一些第三方代码处理.我想在运行时控制,我对调试不感兴趣.我这样说是因为我在StackTrace上阅读的大部分内容似乎都是关于这些主题的.
.net ×5
attributes ×4
c# ×4
glossary ×1
performance ×1
properties ×1
runtime ×1
stack-trace ×1
unit-testing ×1