Meine Frage lässt sich am besten anhand eines Beispiels veranschaulichen.
Angenommen, ich habe die Aufzählung:
public enum ArrowDirection
{
North,
South,
East,
West
}
Ich möchte den Einheitsvektor, der jeder Richtung entspricht, mit dieser Richtung verknüpfen. Ich möchte zum Beispiel etwas, das (0, 1) für Norden, (-1, 0) für Westen usw. zurückgibt. Ich weiß, dass man in Java eine Methode innerhalb der Aufzählung deklarieren kann, die diese Funktionalität bietet.
Meine aktuelle Lösung ist eine statische Methode - innerhalb der Klasse, die die Enum definiert -, die einen Vektor entsprechend der übergebenen in ArrowDirection (die Methode verwendet eine HashTable, um die Suche zu erreichen, aber das ist nicht wirklich wichtig) zurückgibt. Dies scheint... unsauber zu sein.
Frage:
Gibt es eine Best-Practice-Lösung für die Speicherung zusätzlicher Informationen, die einem Enum in .NET entsprechen?