objectbox-dart 中的 Convert 注解在哪里?

Where is the Convert annotation in objectbox-dart?

对于此代码

@Convert(converter = PointConverter, dbType = String)
  Point? origo;

我明白了

Undefined name 'Convert' used as an annotation. Try defining the name or importing it from another library.dart(undefined_annotation)

linter 错误消息。 objectbox-dart中没有object convert方法吗?

我试过这个:https://docs.objectbox.io/advanced/custom-types

没有像 ObjectBox-Java 中那样的 @Convert 注释。在 Dart 中,您可以使用 dart getter 和 setter 在线定义转换器。例如,像这样的东西应该创建一个字符串数据库字段 dbPoint,同时跳过 point,因为它具有未知类型。

import 'dart:math';

import 'package:objectbox/objectbox.dart';

@Entity()
class SomeClass {
  int? id;

  Point<double>? point;
  
  String? get dbPoint => point == null ? null : '${point.x} ${point.y}';
  
  set dbPoint(String? value) {
    if (value == null) {
      point = null;
    } else {
      final components = value.split(' ');
      if (components.length != 2) {
        throw ArgumentError.value(value, 'value', "Given value doesn't look like a point representation");
      }
      point = Point(double.parse(components[0]), double.parse(components[1]));
    }
  }
}

当然,这只是一个示例,您可以使用任何您想要的转换,转换为 ObjectBox 支持的任何类型。例如。如果将上面的代码转换为二进制向量 (Uint8List).

会更有效率