我有一个方法,其具有DateTime类型的参数,该参数不能在过去,这表示何时执行其他一些东西.所以很自然地我想使用这个方法并将DateTime.Now传递给它,以便一切尽快发生.
这里的问题是调用时的DateTime.Now和实际检查时的DateTime.Now可能是不同的值,所以我如何确保日期不是过去,但允许方法用DateTime.Now之类的东西来调用?我不想在这里添加幻数,而是一般解决方案.
UPDATE.我发现了这个问题DateTime.Now的频繁更新
在我看来,你有两个选择:
添加另一个不占用时间参数的方法(重载),而是立即执行操作,例如
DoAction(attime); - 将在规定时间执行操作
DoAction(); - 现在就行动吧
后者是一个更好的解决方案,但显然可能存在方法可供使用的方式/位置的问题(并且假设您无论如何都可以添加方法).