有哪些区别以及对代码的影响?
性能和局限性如何?什么能让它更适合?
新属性:
-[CallerFilePathAttribute]
-[呼叫者成员名称]
-[来电号码]
如今,它们也可以在.NET4中使用(它很容易开发,看起来很神奇)。。它们的值是在运行时编译还是解析的?
例如, 前者在运行时使用反射进行评估,因此相对较慢,而后者在编译时进行处理,本质上是无操作性能。事实上,我已经在测试中验证了这一点。反射每次将花费大约20微秒的时间,如果经常调用,这可能非常重要,而MethodBase.GetCurrentMethod()
返回当前方法,而您可以使用[CallerMemberName]
等将有关调用方法[Caller...]
属性不会产生可测量的损失。