我有以下设置
public class CommonClass : ICommonClass
{
}
public class SomeClass : ISomeClass
{
public SomeClass(ICommonClass common, IOtherClass otherClass) {}
}
public class OtherClass : IOtherClass
{
public OtherClass(ICommonClass common) {}
}
//Registration
builder.RegisterType<CommonClass>().As<ICommonClass>().InstancePerDependency();
builder.RegisterType<SomeClass>().As<ISomeClass>().InstancePerDependency();
builder.RegisterType<OtherClass>().As<IOtherClass>().InstancePerDependency();
我希望每个构造函数中的 common 参数是同一个实例,但是当 SomeClass 被解析时,它会创建 ICommon 的新实例。我怎么能得到这个时间。我试图将它们注册为 InstancePerLifetimeScope,但它的行为与 SingleInstance 相同。