相关疑难解决方法(0)

从通用约束 Dart 调用静态方法

我正在尝试从我收到的泛型类型调用静态方法。这甚至可能吗?

此外,我应用了类型约束,以便仅从其父类操作对象。

这是我试图实现的一个简短示例:

class A {
  static func() {
    print("A");
  }
}

class B extends A {
  static func() {
    print("B");
  }
}

concret<T extends A>() {
  T.func(); // I expected a print('B')
}

main() {
    concret<B>();
}
Run Code Online (Sandbox Code Playgroud)

generics dart

6
推荐指数
1
解决办法
2074
查看次数

Dart 中的“is”和“==”有什么区别?

假设我有:

class Test<T> {
  void method() {
    if (T is int) {
      // T is int
    } 

    if (T == int) {
      // T is int
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我知道我可以覆盖==运算符,但是如果我不覆盖任何运算符,Dart==isDart之间的主要区别是什么。


编辑:

说我有

extension MyIterable<T extends num> on Iterable<T> {
  T sum() {
    T total = T is int ? 0 : 0.0; // setting `T == int` works
    for (T item in this) {
      total += item;
    }
    return total;
  }
}
Run Code Online (Sandbox Code Playgroud)

当我使用我的扩展方法时:

var …
Run Code Online (Sandbox Code Playgroud)

dart

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

标签 统计

dart ×2

generics ×1