如何检查以前在DryIoC中当前范围内创建的服务?
如果没有使用dryioc创建服务,我希望阻止创建服务。
在本例中,我需要一个类似于IsResolved的函数:
container.Register<S>();
if (container.IsResolved<S>()==true){ //always false
//Do any thing
}
var s = container.Resolve<S>();
if (container.IsResolved<S>()==true){ //always true
//Do any thing
}注:IsResolved未在DryIoC中找到
发布于 2022-06-29 19:40:58
您可以注册存储标志装潢工的IsResolved。
[Test]
public void Using_decorator_to_implement_IsResolved()
{
var c = new Container();
c.Register<Abc>();
var d = new AbcDecorator();
c.RegisterDelegate<Abc, Abc>(a => d.Decorate(a), setup: Setup.Decorator);
Assert.IsFalse(d.IsResolved);
var abc = c.Resolve<Abc>();
Assert.IsNotNull(abc);
Assert.IsTrue(d.IsResolved);
}
class Abc {}
class AbcDecorator
{
public bool IsResolved { get; private set; }
public Abc Decorate(Abc a)
{
IsResolved = true;
return a;
}
}https://stackoverflow.com/questions/72778087
复制相似问题