小编Wes*_*son的帖子

有没有办法在通用 Dart 方法中声明多重继承?

我在 Dart 代码中有以下继承结构,并且想知道是否有一个方法签名可以同时考虑 T 的类 A 和类 B,这样我就可以进行静态检查而不必进行类型转换。这可能吗?

   abstract class A {
      String one;
    }
    abstract class B {
      String two;
    }

    class C implements A, B {
      String one;
      String two;
    }

    class D implements A, B {
      String one;
      String two;
    }

    void _ohNo<T extends A, B>(T t) {
      print(t.one); // valid
      print(t.two); // invalid: getter not defined
    }

    void _ohNo2<T extends A, T extends B>(T t) {} // invalid: T already defined
Run Code Online (Sandbox Code Playgroud)

dart

5
推荐指数
1
解决办法
437
查看次数

标签 统计

dart ×1