Я очень сомневаюсь, что есть какой-нибудь пакет nuget для чего-то столь тривиального - один интерфейс и, возможно, две реализации («системные» часы и поддельная для тестирования).
Если вы делаете одиниз них, я бы сильно подумал бы о том, чтобы часы вернули DateTimeOffset
вместо DateTime
, или по крайней мере обернули бы DateTime.UtcNow
... DateTime.Now
это проблема, которая должна произойти ...
Однако Noda Time содержит все это из коробки.Вы, вероятно, не хотите всего Noda Time только по этой причине, учтите ...
(Существует пакет Nget Time, но он определенно предварительный. Мне нужно обновить его до 0.2версия в какой-то момент, но она все еще еще не на уровне v1. Как добраться ...)
Если вы хотите действительно cheap-и - веселый способ выражения зависимости, вы всегда можете взять Func<DateTime>
или Func<DateTimeOffset>
везде, где вы обычно выражаете зависимости.Интерфейсный подход чище, хотя:)