Types 如何创建类型别名

Types 如何创建类型别名,types,dart,Types,Dart,如何为现有类型指定新名称 假设我想给一个列表命名指令,然后可以说指令=新指令()您不能定义别名。对于您的情况,您可以使用定义指令: import'package:quiver/collection.dart'; 类指令扩展了DelegatingList{ 最终名单代表=[]; } 现在可以通过一个空的mixin mixin ToAlias{} class Stuff<T> { T value; Stuff(this.value); } class StuffInt = S

如何为现有类型指定新名称


假设我想给一个
列表
命名
指令
,然后可以说
指令=新指令()

您不能定义别名。对于您的情况,您可以使用定义
指令

import'package:quiver/collection.dart';
类指令扩展了DelegatingList{
最终名单代表=[];
}

现在可以通过一个空的mixin

mixin ToAlias{}

class Stuff<T> {
  T value;
  Stuff(this.value);
}

class StuffInt = Stuff<int> with ToAlias;

main() {
  var stuffInt = StuffInt(3);
}
mixintoalias{}
课堂材料{
T值;
东西(这个值);
}
类StuffInt=使用ToAlias填充;
main(){
var stuffInt=stuffInt(3);
}
编辑2.13 看起来,未发布的2.13很可能包含正确的类型别名,而不需要mixin

typedef IntList = List<int>;
IntList il = [1,2,3];
typedef IntList=List;
IntList il=[1,2,3];

如果没有,则不能将一个类型实例化为another@MPatel你误解我了。我想做一个C++风格的Type。这应该是可能的,是吗?我总是可以将列表嵌入到一个新的指令类中,但是导出列表上的所有方法需要大量的工作……奇怪的是重复。我原以为Dart的人会鼓励给数据结构命名。Dart中有一个typedef关键字,但它仅适用于函数签名。感谢您的回答。创建类型别名是mixin的预期用途吗?使用此选项回答OP的问题会是什么样子?这种混合模式有可能吗?类似于
Directives=List
似乎只能对自己定义的类进行别名,但可以对它们使用泛型,如示例所示。来自Kotlin的提交看起来像是要在其上生成别名的类型的包装器