Enum Classes provide classes with enum features and are part of Libraries for Object Oriented Dart.
Enums are very helpful in modelling the real world: whenever there are a small fixed set of options, an enum is a natural choice. For an object oriented design, though, enums need to be classes. Dart falls short here, so Enum Classes provide what's missing!
toString, can be used in
switchstatements, and are real classes that can hold code and implement interfaces
valuesmethod that returns all the enum values in a
valueOfmethod that takes a
Enum Classes use the source_gen
library for code generation. The typical way to use it is via a
tool that you create for your project. When you run it, all the generated files
Here's what you need to do to use Enum Classes:
build.dartfor your project. See example, below.
pub run tools/build.dartwhenever you need to update the generated files.
package:enum_class/enum_class.dartthen extend EnumClass.
for a full project with a
build.dart and an enum.
Please file feature requests and bugs at the issue tracker.
Add this to your package's pubspec.yaml file:
dependencies: enum_class_generator: ^1.0.0
You can install packages from the command line:
$ pub get
Alternatively, your editor might support
Check the docs for your editor to learn more.
Now in your Dart code, you can use: