Kon*_*tin 7 generics default extend dart
为了方便起见,我想为 RxDart 类制作一些扩展类。但是我找不到用泛型做一些基本事情的方法,例如我需要将泛型类型限制为几种类型。这是我将如何在 C# 中实现它
MyGenericType<T> where T : bool, int { ... }
因此将 T 限制为 bool 和 int 类型。我将如何在飞镖中做同样的事情?文档仅显示具有单一类型限制的示例,如下所示:
class MyGeneric<T extends SomeClass> ...
我也尝试使用逗号,但它做了另一件事,它需要我的泛型类型来扩展它们,这不是我需要的。有可能吗?
另一个相关问题:我还需要为这些泛型设置默认值。同样,C# 等价物将是
T value = default(T);
飞镖中有这样的东西吗?
不,也不。
Dart 没有多个约束或联合类型,因此您不能拥有包含 或 的类型变量bool,int也不能拥有仅允许这些类型的值的普通变量。
Dart 类型也没有任何方法来定义默认值。使用可为 null 的类型并null作为默认值。Dart 中的所有类型都是对象类型,并且可以通过添加 使其可为空?。
| 归档时间: | 
 | 
| 查看次数: | 551 次 | 
| 最近记录: |