SmartEnum is a .NET library that provides a strongly typed alternative to traditional C# enums by allowing developers to create richer, object-oriented enumeration classes. Instead of being limited to primitive numeric values, SmartEnum enables enums to include behavior, validation, and additional properties while preserving type safety and readability. The library is widely used in domain-driven design scenarios where business concepts require more expressive modeling than standard enums allow. Developers define custom enumerations by inheriting from a base SmartEnum class and declaring static instances, which can then be queried by name or value. The project also includes ecosystem support for serialization, Entity Framework persistence, and validation attributes, making it suitable for real-world enterprise applications. Overall, SmartEnum helps teams write more maintainable and intention-revealing domain code by replacing brittle primitive enums with extensible types.
Features
- Strongly typed enum replacement
- Object-oriented enum behavior
- FromName and FromValue helpers
- EF Core persistence support
- JSON and serializer integrations
- Domain-driven design friendly