获取nodeJS中所有继承一个类的类



所以基本上我有一个this代码类扩展到基类

class CommandBase {
doCommand(){
// Do command thing.
}
}
class Help extends CommandBase{
}
class Kick extends CommandBase{

}
class Ban extends CommandBase{

}
class Chat extends CommandBase{

}

现在在整个程序的生产越来越多的命令将被添加,扩展CommandBase类,有没有任何方式通过反射我可以得到所有类扩展CommandBase类,而不显式地将它们写在数组中或通过手动编写代码来跟踪它们?我想在c#中有这样的东西:

AppDomain.CurrentDomain.GetAssemblies()
.SelectMany(s => s.GetTypes())
.Where(p => type.IsAssignableFrom(p))

nodeJS可以这样做吗?它有任何特定的反射库吗?

我不知道有什么方法可以用反射或类似的技术来做到这一点。

你可以写一个小的预处理器,迭代你的文件,寻找/classs+([S]+)s+extendss+CommandBase/g,并将结果存储在一个可以用于实际代码执行的形式。

相关内容

最新更新