也许这真的是个愚蠢的问题.但我不敢相信在描述的地方竟然没有资源.即使是从the official documentation岁起.我要做的是为下一个函数创建匿名类.

enter image description here

如何用Kotlin中的Next这样的自定义函数在DART中创建匿名类?

Handler(Looper.getMainLooper()).post(Runnable() {
    @override
    open fun run() {
        //...
    }

    private fun local() {
       //....
    }
})

推荐答案

Dart不支持创建匿名类.

你想做的是不可能的.

另一方面,您可以创建匿名函数.所以你可以用它来模仿一个匿名类.

其 idea 是为抽象类添加一个构造函数,将其实现推迟到回调.

abstract class Event {
  void run();
}

class _AnonymousEvent implements Event {
  _AnonymousEvent({void run()}): _run = run;

  final void Function() _run;

  @override
  void run() => _run();
}

Event createAnonymousEvent() {
  return _AnonymousEvent(
    run: () => print('run'),
  );
}

严格来说,它与匿名类不同,更接近decorator 模式.但它应该涵盖大多数用例.

Dart相关问答推荐

使用arm64v8/DART Docker映像进行编译时不支持DART镜像

数字到字符串的转换在 Dart 中总是不变的(即没有文化)?

有什么区别!并且 ! 在 Dart 中?

如何获取包含在 Dart 包中的assets资源 的文件路径?

在Flutter中通过 Function(T) 传递泛型类型

VSCode Flutter Dart 启动慢的建议

Swipe返回手势

为什么Dart中的 abs() 函数在没有用括号括起来时返回负数?

Dart:Streams与 ValueNotifiers

通常由 TextField 创建的 InputDecorator 不能具有无限宽度

如何在 Flutter 中匹配密码和确认密码?

如何在dart中获得一周的开始或结束

在 Dart 中升序和降序排序?

如何判断一个对象是否是一个类的实例

使用 VSCode 创建和运行 Dart 控制台应用程序?

GWT 与 Dart - 主要区别是什么? Dart 是 GWT 的潜在替代品吗?

如何在 Dart 中为 Completer.CompleteException(exception, stackTrace) 获取当前堆栈跟踪;

Dart:创建一个从 0 到 N 的列表

List firstWhere Bad state: No element

什么是 ?? Dart 中的双问号?