Dart – Emulating enums using Constant Constructor

Whilst Dart doesn’t have support for enum types but it turns out you can do a pretty good job of emulating it using Dart’s constant constructors (which allows you to create compile-time constants with your class, which in .Net you’re restricted to numbers, booleans, strings and null).

Using the technique from this SO answer you will start with a base class for your enum types:

From here, you can create other specialized enum types, such as:

 

Thank you, mr Sergy Akopkokhyants for this elegant little solution.


Yan Cui

I’m an AWS Serverless Hero and the author of Production-Ready Serverless. I have run production workload at scale in AWS for nearly 10 years and I have been an architect or principal engineer with a variety of industries ranging from banking, e-commerce, sports streaming to mobile gaming. I currently work as an independent consultant focused on AWS and serverless.

You can contact me via Email, Twitter and LinkedIn.

Hire me.