README built_value
заявляет, что EnumClasses:
... являются реальными классами, которые могут содержать код и реализовывать интерфейсы
Как мне сделать EnumClass
напримерMassUnit
правильно реализовать приведенный ниже интерфейс?
abstract class Unit {
Unit get siUnit;
String get symbol;
double get siCoefficient;
double get siConstant;
double fromSi(double siValue) => (siValue - siConstant) / siCoefficient;
double toSi(double value) => (siConstant + value) * siCoefficient;
double to(Unit other, double value) {
assert(isCompatible(other), "${this.symbol} and ${other.symbol} are not compatible units" );
return other.fromSi(other.toSi(value));
}
bool isCompatible(Unit other) => other.siUnit == siUnit;
}