你知道是否可以使用装饰器获取类实现的接口(interface)数组:
interface IWarrior {
// ...
}
interface INinja {
// ...
}
所以如果我做类似的事情:
@somedecorator
class Ninja implements INinja, IWarrior {
// ...
}
在运行时 Ninja 会有一个包含 ["INinja", "IWarrior"]
的注解 ?
谢谢
最佳答案
目前,类型仅在开发和编译期间使用。类型信息不会以任何方式转换为已编译的 JavaScript 代码。但是您可以像这样将字符串列表传递给装饰器参数:
interface IWarrior {
// ...
}
interface INinja {
// ...
}
interface Function {
interfacesList: string[];
}
@interfaces(["INinja", "IWarrior"])
class Ninja implements INinja, IWarrior {
}
function interfaces(list: string[]) {
return (target: any) => {
target.interfacesList = list;
return target;
}
}
console.log(Ninja.interfacesList);
关于typescript - 使用装饰器获取已实现接口(interface)的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30188387/