0

有什么方法可以强制DateTime.Now总是返回DateTime.UtcNow申请吗?

--edit 我的意图:我有大型日期时间非常敏感的应用程序。我不能重写它所在的所有地方(耗时)。程序员有时会在时间压力下忘记使用utcnow。

4

2 回答 2

0

我不能重写它所在的所有地方(耗时)

是的,这需要一分钟(在文件中替换文件)加上你的单元测试告诉你什么失败了。

另一种方法是弄乱程序的新部分的行为,用户可能出于任何原因需要本地时间。说真的,坐下来清理程序。

DateTime.Now 是静态的,所以它必须是这种形式,发现这是微不足道的。修复这些情况将是相对的,除非您必须为输入和输出添加转换例程之类的东西 - 无论如何您都必须这样做。

于 2013-01-03T10:05:35.643 回答
0

我认为对您来说最好的选择是在您的应用程序中使用模拟返回日期时间。

对于单元测试或其他功能,您可以使用自定义 DateTime

看看这个:

http://blog.coreycoogan.com/2009/06/07/mocking-datetime-now/

于 2012-12-13T13:43:23.930 回答