As of C#6 the best way to get the name of an enum is the new nameof
operator:
nameof(MyEnum.EnumValue); // Ouputs > "EnumValue"
This works at compile time, with the enum being replaced by the string in the compiled result, which in turn means this is the fastest way possible.
Any use of enum names does interfere with code obfuscation, if you consider obfuscation of enum names to be worthwhile or important – that’s probably a whole other question.
Related Posts:
- What’s the difference between .NET Core, .NET Framework, and Xamarin?
- What is a singleton in C#?
- ‘Microsoft.ACE.OLEDB.12.0’ provider is not registered on the local machine
- My C# application is returning 0xE0434352 to Windows Task Scheduler but it is not crashing
- What is WCF? and what can it do?
- C# Set collection?
- Difference between Delphi and Delphi.NET
- Where/how can I download (and install) the Microsoft.Jet.OLEDB.4.0 for Windows 8, 64 bit?
- Windows Application has stopped working :: Event Name CLR20r3
- Why is Dictionary preferred over Hashtable in C#?
- What is the difference between ASP.NET MVC 6 and ASP.NET Core 1.0 and the reason behind the core framework?
- Embed a System.String in XAML
- What’s the difference between struct and class in .NET?
- Does anyone still use [goto] in C# and if so why?
- How does the “Using” statement translate from C# to VB?
- Where Is Machine.Config?
- Why does .Net Socket.Disconnect take two minutes?
- ClickOnce runtime DFSVC.EXE
- “An attempt was made to load a program with an incorrect format” even when the platforms are the same
- What is the best way to parse html in C#? [closed]
- Best C# API to create PDF
- C# cannot convert method to non delegate type
- What is the difference between const and readonly in C#?
- SQL Connection Error: System.Data.SqlClient.SqlException (0x80131904)
- Cannot send a content-body with this verb-type
- Html.Partial vs Html.RenderPartial & Html.Action vs Html.RenderAction
- Pass Method as Parameter using C#
- Nuget connection attempt failed “Unable to load the service index for source”
- Cannot access a disposed object – How to fix?
- HashSet vs. List performance
- Cannot access a disposed object – How to fix?
- ArrayList vs List<> in C#
- How to access Session variables and set them in javascript?
- What’s the @ in front of a string in C#?
- How to solve ‘…is a ‘type’, which is not valid in the given context’? (C#)
- Could not load file or assembly App_Web_ * with a precompiled ASP.NET website project
- How should I cast in VB.NET?
- Calling the base constructor in C#
- Warning: Found conflicts between different versions of the same dependent assembly
- Best way to repeat a character in C#
- Connection string using Windows Authentication
- What is the purpose ApplicationDbContext Class in (under IdentityModels.cs file) ASP.NET MVC 5?
- How to solve “Could not establish trust relationship for the SSL/TLS secure channel with authority”
- How to empty a list in C#?
- What is The difference between ListBox and ListView
- SQLite equivalent to ISNULL(), NVL(), IFNULL() or COALESCE()
- Could not establish secure channel for SSL/TLS with authority ‘*’
- Cannot attach the file *.mdf as database
- How to open an Excel file in C#?
- What is a method group in C#?
- How can I download a file with batch file without using any external tools?
- How do I save a stream to a file in C#?
- Print Pdf in C#
- Can a Byte[] Array be written to a file in C#?
- Enum Naming Convention – Plural
- Entity Framework vs LINQ to SQL
- .NET Framework 4.6 or a later update is already installed on this computer
- Retrieving the COM class factory for component with CLSID {XXXX} failed due to the following error: 80040154
- How do I find the PublicKeyToken for a particular dll?
- Could not find any resources appropriate for the specified culture or the neutral culture
- Consider app.config remapping of assembly with no app.config mapping
- What is a “first chance exception”?
- What is the difference between String and string in C#?
- Creating a List of Lists in C#
- A certificate chain could not be built to a trusted root authority
- C# int to byte[]
- INQ: When to use SingleOrDefault vs. FirstOrDefault() with filtering criteria
- How to enumerate an enum
- .Net 4.8 Support for Windows 10 ends in 26 days?
- How can I represent an ‘Enum’ in Python?
- What is a NullReferenceException, and how do I fix it?
- How do I get a random YouTube video with the YouTube API?
- How can I convert String to Int?
- What is a NullReferenceException, and how do I fix it?
- How to open .dll files to see what is written inside?
- Windows .NET API / Windows 7 / Bluetooth communication with Intel Curie Arduino / Genuino 101
- System.web.mvc missing
- Nullable object must have a value?
- “Error while trying to run project: Unable to start program”. Can run program only once. Then VS needs restart
- What is clr.dll on .Net framework and what does it do?
- Associating enums with strings in C#
- How to resolve this System.IO.FileNotFoundException
- How can I get the application’s path in a .NET console application?
- How do I create a Shared Code project (.shproj)
- How to open a new form from another form
- Deep cloning objects
- Regular expression “^[a-zA-Z]” or “[^a-zA-Z]”
- .NET graph library around?
- An object reference is required to access a non-static member
- Task vs Thread differences
- XmlSerializer – There was an error reflecting type
- Run Command Prompt Commands
- How do I exit a WPF application programmatically?
- How to access Session variables and set them in javascript?
- How to create a new object instance from a Type
- Using FolderBrowserDialog in WPF application
- Is there an equivalent to the C# “var” keyword in C++/CLI?
- When should I use a List vs a LinkedList
- Iif equivalent in C#
- LINQ query on a DataTable