SmartEnum
SmartAnnotations
SmartEnum | SmartAnnotations | |
---|---|---|
7 | 3 | |
2,055 | 47 | |
- | - | |
8.1 | 5.3 | |
5 days ago | about 3 years ago | |
C# | C# | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
SmartEnum
- Java or C# for backed
-
Is there a "right" way to consolidate constants in C#/.NET?
I agree SmartEnum is my go-to for this
-
best practice to create a method with params of limited values
If we knew more about these methods and what kinds of parameters they take we could maybe make some suggestions. There are some patterns like smart enum that are sometimes just the thing.
-
Smart Enums In C# Like Java
In C# I am not able to add constructors, properties, and methods. although there is a library to do this https://github.com/Ardalis/SmartEnum but wouldn't be nice if we have this feature built-in to C#.
- What is it about C# that you do NOT like compared to other languages?
-
Displaying Enums with custom value
You can use the SmartEnum library.
- C# records can be used to emulate Java's fancy enums.
SmartAnnotations
-
Displaying Enums with custom value
You can use annotations, more specifically the Display attribute, e.g., `[Display(Name = "Junior Developer")]. I'm working on source generators for annotations, you can find it here
- Source generator for data annotations.
What are some alternatives?
Enums.NET - Enums.NET is a high-performance type-safe .NET enum utility library
Guard - A high-performance, extensible argument validation library.
csharplang - The official repo for the design of the C# programming language
Nullable - A source code only package which allows you to use .NET's nullable attributes in older target frameworks like .NET Standard 2.0 or the "old" .NET Framework.
Result - A result abstraction that can be mapped to HTTP response codes if needed.
ZeroIoC - ZeroIoC is reflectionless IoC Container for C#
NodaTime - A better date and time API for .NET
throw - A simple, fluent, extensible, and fully customizable library for throwing exceptions for projects using .NET 6+
UnitsNet - Makes life working with units of measurement just a little bit better.
Roslyn - The Roslyn .NET compiler provides C# and Visual Basic languages with rich code analysis APIs.
.NET Runtime - .NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
WrapperValueObject - A .NET source generator for creating simple value objects wrapping primitive types.