名称“T”不是类型,因此不能用作类型参数

问题描述 投票:0回答:1

如何将 typedef 与泛型一起使用?

如何在类中使用 typedef ?

class Bar<T> {
  void bar() {
    print(T);
  }
}

class Foo<T> {
  Bar<T> merge(Bar<T> a, Bar<T> b, Bar<T> c) {
    a.bar();
    b.bar();
    return c;
  }
}

为了避免重复

Bar<T>
我想使用
typedef

typedef Baz = Bar<T>;

class Foo<T> {
  Baz merge(Baz a, Baz b, Baz c) {
    a.bar();
    b.bar();
    return c;
  }
}

但这显然是错误的。

flutter dart
1个回答
0
投票

您可以向

typedef
添加类型参数,如下所示:

typedef Baz<T> = Bar<T>;

请参阅 typedefs 了解更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.