Enum.GetNames()

Dieses Problem ist mir bei einem Vortrag über die Lokalisierung von Programmen zum ersten mal aufgefallen. Bei einem Treffen der Dortmunder .net Usergroup (www.do-dotnet.de) berichtete Matthias Raacke von Problemen bei der Übersetzung von solchen Konstrukten. 

Etwas später stolperte ich beim Schutz des Quelltextes mit einem Obfuscator über das gleiche Problem. Nach der Obfuskierung waren die Texte in den Enum Typen nicht mehr lesbar!

Daher mein Tip:
Niemals die Namen einer Enumeration mit Enum.GetName() auslesen und in der Benutzeroberfläche ausgeben.

Doch worum geht es dabei eigentlich genau?

(mehr)