Inversify :上下文注入 class 名称
Inversify : contextual injection with class name
我正在尝试使用 inversify 将记录器注入不同的 classes。我想将目标 class 名称传递给记录器以对其进行分类。
问题是我无法从创建绑定的位置访问目标名称:
container.bind<log4js.Logger>(Types.Logger).toDynamicValue(context => {
let className = context....?; // Finds class name
return log4js.getLogger(className);
});
除了在接收记录器的对象中创建记录器后进行设置之外,还有其他方法可以做到这一点吗?
谢谢!
安托万
更新:
new feature 使得从上下文中访问 class 名称成为可能。名称将被缩小。这可以通过与 class.
进行比较来解决
container.bind<Warrior>(TYPE.Warrior)to(Ninja).inActivation((context) => {
const currentClass = context.currentRequest.bindings[0].implementationType;
if (currentClass) {
if (currentClass === Ninja) {
// ...
}
}
原文post:
感谢您提出这个问题。目前无法找到您正在寻找的内容,但我在 GitHub 中创建了一个问题,以确保我们对此采取一些措施。您可以在 https://github.com/inversify/InversifyJS/issues/576
了解更多信息
我正在尝试使用 inversify 将记录器注入不同的 classes。我想将目标 class 名称传递给记录器以对其进行分类。
问题是我无法从创建绑定的位置访问目标名称:
container.bind<log4js.Logger>(Types.Logger).toDynamicValue(context => {
let className = context....?; // Finds class name
return log4js.getLogger(className);
});
除了在接收记录器的对象中创建记录器后进行设置之外,还有其他方法可以做到这一点吗?
谢谢!
安托万
更新:
new feature 使得从上下文中访问 class 名称成为可能。名称将被缩小。这可以通过与 class.
container.bind<Warrior>(TYPE.Warrior)to(Ninja).inActivation((context) => {
const currentClass = context.currentRequest.bindings[0].implementationType;
if (currentClass) {
if (currentClass === Ninja) {
// ...
}
}
原文post:
感谢您提出这个问题。目前无法找到您正在寻找的内容,但我在 GitHub 中创建了一个问题,以确保我们对此采取一些措施。您可以在 https://github.com/inversify/InversifyJS/issues/576