好的,我正在尝试在我向 SM 注册的类型上设置一个属性。
这是我的一个组件中注册表中的代码。此注册表是在从控制台应用程序配置期间添加的。当我尝试访问实例 AutoMandatoryEndorsementAggregator 对象的 EndorsementSpecs 属性时,我得到 202。有趣的是,我可以从我的控制台应用程序调用 GetAllInstances>() 并且它解决得很好。是否有关于从导致 202 的 OnCreation 中访问此代码的内容?我可以在 WhatDoIHave() 中看到我所期望的一切。我还尝试了具有相同结果的 TypeInterceptor。
//register all open generics
cfg.ConnectImplementationsToTypesClosing(typeof
(MandatoryEndorsementSpecBase<>));
ForSingletonOf<IMandatoryEndorsementAggregator<AutoPolicy>>()
.Use<AutoMandatoryEndorsementAggregator>()
.OnCreation((context, x) =>
{
var specs =
context.GetAllInstances<MandatoryEndorsementSpecBase<AutoPolicy>>();
x.EndorsementSpecs = specs;
})
;