generics - 如何在 Dart 强模式下声明泛型运算符?

标签 generics dart

Dart 允许我声明泛型方法,例如T first<T>(List<T> ts) 。但是如何为运算符方法声明泛型类型,例如 operator | ?是否有这样的语法(并且它是否在某处记录)?

最佳答案

Dart 运算符不能是通用的。

主要原因是没有提供类型的语法。使用通用方法,您可以将其称为 o.foo<int>(...)显式传递类型参数。没有地方放<int>在运算符中(不,我们不想允许 x+<int>42 ,这读起来很可怕!)

此外,如果您将类型参数视为额外参数,则运算符已被限制为特定数量的参数。 同样的问题也适用于 getter 和 setter,它们不能接受额外的参数(实际上或语法上),因此它们不能是通用的。

关于generics - 如何在 Dart 强模式下声明泛型运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47416040/

相关文章:

firebase - 如何查询 firestore 中的嵌套对象

java - 泛型、类型参数和通配符

c# - Protobuf-net 不序列化泛型类型继承自泛型类型

Delphi 2010 : Confusing generic type TList scenario? 按值传递还是引用传递?

C# - 有什么方法可以转换泛型集合吗?

flutter - 如何通过定位和填充小部件为平板电脑增加响应能力?

C#:没有从 Class<Child> 到 Class<Base> 的隐式转换

flutter - 我需要在 url 启动器 TEL 中登录标签,但它会自动删除

DART 网络用户界面 : How to reference index in iterate loop

html - 在 Dart 中如何通过鼠标点击 HTML5 Canvas 获得 X 和 Y?