是否有一种优雅的方式在ActionFilterAttribute
中实现以下内容。
_provider = new DetailsProvider(new DetailsService(new CachingService()))
正如您所看到的,这看起来不太好。我想要摆脱的是“新的”#39;这些具体的课程。
有一个不错的选择吗?
答案 0 :(得分:0)
我用
解决了这个问题public HandlerAttribute() :
this(DependencyResolver.Current.GetService<IDetailsProvider>()) { }
public HandlerAttribute(IDetailsProvider detailsProvider)
{
_detailsProvider = detailsProvider;
}
我正在使用SimpleInjector,但这是可以互换的,因为我正在使用解析器。
您可以使用任何容器,使用接口方法获取具体类的实例。