将类型/类作为参数传递并访问静态属性,构造函数等

时间:2019-09-30 21:51:08

标签: generics dart

我对飞镖还很陌生,所以我仍在努力弄清所有的细微差别。我试图做的一件事,就是根据情况,是将类/类型作为参数传递给函数,以便可以访问一些静态方法和属性。

这是一个例子:

id

1 个答案:

答案 0 :(得分:0)

无法在Dart中完成。 静态成员只能在实际的类上直接访问,而不能在变量上访问。不管使用类型变量(<T>)还是包含Type对象的变量,都不能访问静态成员。

如果您需要提供对静态成员的延迟访问,则需要传递一个函数

class WithStatic {
  static final test = 'wwww';
}

void main() {
  print(WithStatic.test);
  test(() => WithStatic.test);
}

void test(dynamic testGetter()){
  print(cls.testGetter());
}