小编fil*_*och的帖子

无法在通用函数中使用通用函数

我的代码中有以下课程

abstract class DatabaseKey<T> implements Built<DatabaseKey<T>, DatabaseKeyBuilder<T>> {
  DatabaseKey._();
  factory DatabaseKey([void Function(DatabaseKeyBuilder<T>) updates]) = _$DatabaseKey<T>;

  String get name;
}
Run Code Online (Sandbox Code Playgroud)

然后,定义以下通用的typedef函数:

typedef ObserveDatabaseEntity = Observable<DatabaseEntity<T>> Function<T>(DatabaseKey<T> key);
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试按以下方式使用它时,代码出现错误。

  static ObserveConfigurationValue observe(
      GetConfigurationState getState,
      ObserveDatabaseEntity observeDatabaseEntity,
  ) {
    assert(getState != null);
    assert(observeDatabaseEntity != null);

    return <KT>(ConfigKey<KT> key) {
      return Observable.just(getState())
          .flatMap((state) {
            final dbKey = _databaseKeyFromConfig<KT>(key);

            return observeDatabaseEntity(dbKey)
              .map(_configValueFromDatabaseEntity);
          });
    }
  }
Run Code Online (Sandbox Code Playgroud)
DatabaseKey<T> _databaseKeyFromConfig<T>(ConfigKey<T> key) {
  return DatabaseKey((build) => build
    ..name = key.value,
  );
}
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

无法将参数类型DatabaseKey分配给参数DatabaseKey。

我看不到这段代码有什么错,或者为什么它不起作用,但是也许我对可以用Dart编写的内容的理解是错误的。如果可能的话,正确的书写方式是什么?

编辑#1:

注意:

typedef …

dart flutter

5
推荐指数
1
解决办法
37
查看次数

运行Eclipse后,"无法初始化Monitor Thread:无法建立环回连接"

我有一个问题,当我想开始为Android开发应用程序时,我做了所有的事情,就像在手册这里但在Eclipse中安装ADT插件后我仍然收到此错误:

[2011-12-29 14:34:56 - ddms]无法初始化Monitor Thread:无法建立环回连接

然后,如果我尝试运行一个应用程序,这会出现:

[2011-12-29 14:41:42 - TestApp] ------------------------------ [2011-12-29 14:41:42 - TestApp] Android发布![2011-12-29 14:41:42 - TestApp]与adb的连接被中断.[2011-12-29 14:41:42 - TestApp]尝试重新连接0次.[2011-12-29 14:41:42 - TestApp]您可能希望从"设备"视图手动重启adb.

eclipse android adt

3
推荐指数
1
解决办法
4229
查看次数

标签 统计

adt ×1

android ×1

dart ×1

eclipse ×1

flutter ×1