我是Dart的新手。
我想把一个类,而不是一个类对象,传递给一个函数,现在看起来是这样的:
void passClass(?? Klass) {
SomeClass obj = Klass();
...
}
我不知道该把什么放在??
上。
谢谢。
您正在寻找的概念称为泛型。
void passClass<T>() {
...
}
可以这样称呼:
passClass<Klass>();
问题是,实际上你不能让你的代码以这种方式工作,因为你的代码假设被传递的类总是有一个无参数的构造函数。某些类可能是这样,但其他类则不然。
如果你想创建一个你传递的类的对象,它会变得很复杂。您可以在DART 中创建通用类型的实例中找到好的解决方案