在 dart 的函数内声明一个类

pai*_*nor 5 dart

我正在为具有数百个 API 函数和结果类型的 API 构建一个库。因此,我制作了一个简单的生成脚本,该脚本应该从定义文件创建所有这些类型。

这就是 JavaScript 中的样子:

const params = parseTypes();
const api = {}
for (const classParams of params) {
    class VirtualClass{
        className = classParams.name;
        classType = classParams.type;
    }
    api[classParams.name] = VirtualClass;
}
Run Code Online (Sandbox Code Playgroud)

这对于它的目的来说工作得很好,但是当我尝试在 Dart 中实现相同的策略时,我无法在函数内声明一个类。执行以下操作

void main() {
  class A{
  }
}
Run Code Online (Sandbox Code Playgroud)

给出了很多红线和错误

Error: Expected an identifier, but got 'class'.
  class A{
  ^^^^^
Run Code Online (Sandbox Code Playgroud)

有没有办法在 Dart 中实现同样的想法?

lrn*_*lrn 4

Dart 不允许在函数内部声明类。我不确定“相同的想法”是否可以通过其他方式实现,但是如果您可以解释您想要实现的目标,则可能会找到一种不同的设计来实现这一目标。