繁体   English   中英

实例化:使用类名进行上下文注入

[英]Inversify : contextual injection with class name

我正在尝试使用inverseify将记录器注入不同的类中。 我想将目标类名称传递给记录器以对其进行分类。

问题是我无法从创建绑定的位置访问目标名称:

container.bind<log4js.Logger>(Types.Logger).toDynamicValue(context => {
    let className = context....?; // Finds class name
    return log4js.getLogger(className);
});

除了在接收记录器的对象中创建记录器后,除了设置它之外,还有其他方法吗?

谢谢!

安托万

更新
这项新功能使从上下文访问类名成为可能。 该名称将被缩小。 这可以通过与类进行比较来解决。

container.bind<Warrior>(TYPE.Warrior)to(Ninja).inActivation((context) => {
    const currentClass = context.currentRequest.bindings[0].implementationType;
    if (currentClass) {
        if (currentClass === Ninja) {
            // ...
        }
    }

原始帖子
感谢您提出这个问题。 您目前无法找到所需的内容,但是我在GitHub上创建了一个问题,以确保我们对此有所帮助。 您可以在https://github.com/inversify/InversifyJS/issues/576中了解更多信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM