Skip to content

civicsource/enums

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Archon Enums Utility

Provides convenient utility methods for working with Enums and their user-friendly descriptions.

How to Use

Install via nuget

install-package Archon.Enums

Make sure to add using Archon.Enums; to the top of your files to get access to the following extension methods.

Categories & Descriptions

Given an enum that looks like this:

enum Color
{
	[Category("Blues")]
	[Description("Alice's Wonderland Blue")]
	AliceBlue,

	GhostWhite,

	[Category("Blues")]
	Navy
}

You can now easily retrieve the descriptions and categories for an enum:

Assert.Equal("Alice's Wonderland Blue", Color.AliceBlue.DescriptionOf());
Assert.Equal("Blues", Color.AliceBlue.CategoryOf());

as well as get sensible defaults for non-defined descriptions:

Assert.Equal("Ghost White", Color.GhostWhite.DescriptionOf());

You can also list out the descriptors for the enum:

IEnumerable<EnumDescriptor> values = EnumUtility.Describe(typeof(Color));
foreach (var val in values)
{
	Console.WriteLine(String.Format("{0}: {1} ({2})", val.Category, val.Description, val.Value));
	//this will output "Blues: Alice's Wonderland Blue (AliceBlue)" for Color.AliceBlue
}

States/Provinces & Countries

Install the geography nuget package

install-package Archon.Enums.Geography

This includes two enum types, StateProvince and Country which enumerate US states, Canadian provinces, and countries utilizing the aforementioned framework with user friendly descriptions & categories.

About

Provides convenient utility methods for working with Enums and their user-friendly descriptions

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages