gpt4 book ai didi

typescript - 使用装饰器获取已实现接口(interface)的列表

转载 作者:搜寻专家 更新时间:2023-10-30 20:34:17 24 4
gpt4 key购买 nike

你知道是否可以使用装饰器获取类实现的接口(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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com