首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Autofac中注册NodaTime.ZonedClock

如何在Autofac中注册NodaTime.ZonedClock
EN

Stack Overflow用户
提问于 2021-05-13 23:04:17
回答 1查看 58关注 0票数 2

根据Pac0的评论here,可以像这样注册NodaTime.SystemClockbuilder.Register(_ => SystemClock.Instance).As<IClock>().SingleInstance();

如何对NodaTime.ZonedClock执行相同的操作

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-13 23:31:21

ZonedClock似乎没有像SystemClock那样的单例访问器,所以你必须调用它的构造函数。使用与SystemClock相同的方法,它将如下所示:

代码语言:javascript
复制
builder
    .Register(_ => new ZonedClock(SystemClock.Instance, DateTimeZone.Utc, CalendarSystem.Gregorian))
    .As<IClock>()
    .SingleInstance();

您可以根据需要调整参数(我添加了DateTimeZone.UtcCalendarSystem.Gregorian作为示例)。

请记住,因为两者都实现了相同的接口(IClock),所以如果不使用键控注册或类似的方法,就不能同时注册这两个接口。但是,如果您只想使用ZonedClock,这应该不是问题。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67521561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档