在阅读了这篇博客文章之后:http://wekeroad.com/post/4069048840/when-should-a-method-be-a-property,我想知道为什么Microsoft在C#中选择:
DateTime aDt = DateTime.Now;
而不是
DateTime aDt = DateTime.Now();
- 最佳实践指出:当在连续调用成员两次时会产生不同结果时,请使用方法。
DateTime.Now
是不确定的方法/属性的完美例子。
你知道这个设计是否有任何原因吗?
还是只是一个小错误?
Func<DateTime>
吗? :) - BrianDateTime.Now
等待它改变。我成功地连续调用了16000多次而没有改变。使用UtcNow
,我连续调用了超过100万次才改变。我认为这足以将其作为一个属性。 - Gabe