为了方便起见,我想为 RxDart 类制作一些扩展类。但我找不到一种方法来用泛型做一些基本的事情,例如我需要将泛型类型限制为几种类型。这是我在 C# 中实现它的方法
MyGenericType<T> where T : bool, int { ... }
因此将 T 限制为 bool 和 int 类型。我如何在 dart 中做同样的事情?
该文档仅显示具有单一类型限制的示例,如下所示:
class MyGeneric<T extends SomeClass> ...
我也尝试使用逗号,但它做了另一件事,它需要我的泛型类型来扩展它们,这不是我需要的。有可能吗?
另一个相关问题:我还需要为这些泛型设置默认值。同样,C# 的等价物是
T value = default(T);
dart中有这样的东西吗?
不,也不。
Dart 没有多个约束或联合类型,因此您不能拥有包含其中任何一个的类型变量bool
or int
,也不是只允许这些类型的值的普通变量。
Dart 类型也没有任何方法来定义默认值。
使用可空类型和null
作为默认值。 Dart 中的所有类型都是对象类型,并且可以通过添加来使其可为空?
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)