我有一個類,它的構造看起來像如何找出在StructureMap中提供依賴項的類型?
public class Foo(NLog.Logger logger)
我使用StructureMap 2.6.4.1做的依賴注入(通過構造函數注入完全,沒有財產注射)。我正在使用NLog進行記錄。 NLog的一個很好的功能是可以通過具有名稱的記錄器將記錄事件發送到不同的目標。因此,在擁有類型的完全限定名稱之後命名記錄器(在上例中,它將是<namespace>.Foo
)
Castle Windsor的日誌記錄工具將爲需要它們的實例提供記錄器,命名爲擁有實例的類。
但是,我還沒有能夠得到StructureMap來做到這一點。
我試過EnrichWith((context, type) => {})
方法,但context.ParentType
始終爲空。以下是我的註冊表示例:
public class InfrastructureRegistry : Registry
{
public InfrastructureRegistry()
{
For<NLog.Logger>().Use<NLog.Logger>()
.EnrichWith((context, pluginType) =>
NLog.LogManager.GetLogger(context.ParentType.FullName)
);
}
}
我很困惑。我如何做我想做的事?
非常感謝! –