enumWater{frozen(32),lukewarm(100),boiling(212);…} 要支持转换为String,我们只需重写enums继承自Object的toString方法: @overrideString toString() =>"The $name water is $tempInFahrenheit F."; 这样即可获得一个可以轻松实例化的完整enum,您可以在其上调用方法: voidmain(){print(Water.frozen);// Pr...
但如果我们想在 enum 上添加一些方法,例如,将每个状态转换为温度,并支持将 enum 转换为 String,该怎么办?或许我们可以使用扩展方法来添加一个 waterToTemp() 方法,但我们必须时刻注意它与 enum 的同步。对于 String 我们希望覆写 toString() 方法,但它不支持这么做。在 Dart 2.17 中现已支持枚举类型的成...
但如果我们想在enum上添加一些方法,例如,将每个状态转换为温度,并支持将enum转换为String,该怎么办?或许我们可以使用扩展方法来添加一个waterToTemp()方法,但我们必须时刻注意它与enum的同步。对于String我们希望覆写toString()方法,但它不支持这么做。 在Dart 2.17 中现已支持枚举类型的成员变量。这意味着我们可以添...
例如,我们可以将水描述为enum Water { frozen, lukewarm, boiling }。但如果我们想在enum上添加一些方法,例如,将每个状态转换为温度,并支持将enum转换为String,该怎么办?或许我们可以使用扩展方法来添加一个waterToTemp()方法,但我们必须时刻注意它与enum的同步。对于String我们希望覆写toString()方法,但它不支持这么...
但如果我们想在enum上添加一些方法,例如,将每个状态转换为温度,并支持将enum转换为String,该怎么办?或许我们可以使用扩展方法来添加一个waterToTemp()方法,但我们必须时刻注意它与enum的同步。对于String我们希望覆写toString()方法,但它不支持这么做。 在Dart 2.17 中现已支持枚举类型的成员变量。这意味着我们可以...
但是,如果我们想在enum上添加一些方法,例如,将每个状态转换为温度,以及支持将enum转换为String,该怎么办?或许我们可以使用扩展方法来添加一个waterToTemp()方法,但必须注意让其与enum保持同步。对于String转换,我们希望重写toString(),但这个做法在之前的版本不受支持。
但如果我们想在enum上添加一些方法,例如,将每个状态转换为温度,并支持将enum转换为String,该怎么办?或许我们可以使用扩展方法来添加一个waterToTemp()方法,但我们必须时刻注意它与enum的同步。对于String我们希望覆写toString()方法,但它不支持这么做。 在Dart 2.17 中现已支持枚举类型的成员变量。这意味着我们可以...
enumWater{frozen,lukewarm,boiling;}extension Members on Water{intwaterToTemp(Water water){switch(water){caseWater.frozen:return0;caseWater.lukewarm:return40;caseWater.boiling:return100;}}StringconvertToString()=>'The $name water is ${waterToTemp(this)} ℃.';}voidmain(){print(Water.frozen.conv...
String convertToString() => 'The $name water is ${waterToTemp(this)} ℃.'; } void main() { print(Water.frozen.convertToString()); } 当枚举对应特定值的时候,这样就太麻烦了!Dart 2.17版本后就简单多了。 enum Water { frozen(0),
// a = "Hello"; // 报错:A value of type 'String' can't be assigned to a variable of type 'int'. var b; b = 10; print(b); // 10 b = "Hello"; print(b); // Hello dynamic c; print(c); // null final d = 10; print(d); // d = 20; // 报错:The final variable...