如何创建类型别名

use*_*610 10 types dart

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

假设我想给出一个List<String>名字Directives然后能够说出来directives = new Directives().

Ale*_*uin 8

您无法定义别名.对于您的情况,您可以使用来自quiver的DelegatingList来定义Directives:

import 'package:quiver/collection.dart';

class Directives extends DelegatingList<String> {
  final List<String> delegate = [];
}
Run Code Online (Sandbox Code Playgroud)

  • 奇怪。我本以为Dart员工会鼓励给数据结构起名字。Dart中有一个typedef关键字,但仅适用于函数签名。感谢您的回答。 (3认同)

atr*_*eon 6

现在可以通过一个空的mixin

mixin ToAlias{}

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

class StuffInt = Stuff<int> with ToAlias;

main() {
  var stuffInt = StuffInt(3);
}
Run Code Online (Sandbox Code Playgroud)