在java中,当您定义枚举时,您可以执行类似于以下操作的操作.这在Dart有可能吗?
enum blah {
one(1), two(2);
final num value;
blah(this.value);
}
Run Code Online (Sandbox Code Playgroud) 使用 Dart 2.6,我可以使用这样的扩展方法:
extension on int {
int giveMeFive() {
return 5;
}
}
main(List<String> arguments) async {
int x;
x.giveMeFive();
}
Run Code Online (Sandbox Code Playgroud)
一切正常!:D
但是现在如果我想将我的扩展方法放在另一个文件中,如下所示:
main.dart
import 'package:untitled5/Classes/ExtendInt.dart';
main(List<String> arguments) async {
int x;
x.giveMeFive();
}
Run Code Online (Sandbox Code Playgroud)
扩展程序
extension on int {
int giveMeFive() {return 5;}
}
Run Code Online (Sandbox Code Playgroud)
它因令人沮丧的错误而失败..
bin/main.dart:9:5: Error: The method 'giveMeFive' isn't defined for the class 'int'.
Try correcting the name to the name of an existing method, or defining a method named 'giveMeFive'.
x.giveMeFive();
^^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)
是不允许这样做还是我做错了什么?谢谢阅读 !:)