我有一个类,它应该有一个 Service
的实例(用于访问数据库和其他服务):
public class MyFoo : IFoo
{
public Service Service { get; set; }
public MyFoo (Service service)
{
Service = service;
}
}
我想在 ServiceStack 的 IoC 容器中注册这个类。目前,我是这样做的
container.Register<IFoo> (c => new MyFoo (c.TryResolve<MyService> ()));
这确实工作正常,但我觉得在注册另一个容器的同时解析容器中的元素非常丑陋。有没有更优雅的方法来实现这一点?
最佳答案
你也可以注册依赖 using one of the AutoWired APIs ,例如:
container.RegisterAutoWiredAs<MyFoo,IFoo>()
此外,ServiceStack 将向每个公共(public)属性注入(inject)任何已注册的依赖项,因此您不需要构造函数,例如:
public class MyFoo : IFoo
{
public Service Service { get; set; }
}
关于c# - 从依赖于另一个注册元素的 ServiceStack 的 IoC 容器解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39508465/