Dart 对多种类型进行通用约束并设置默认值

2023-11-21

为了方便起见,我想为 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(使用前将#替换为@)

Dart 对多种类型进行通用约束并设置默认值 的相关文章

随机推荐