Мой вопрос лучше всего иллюстрируется примером.
Предположим, что у меня есть перечисление:
public enum ArrowDirection
{
North,
South,
East,
West
}
Я хочу связать единичный вектор, соответствующий каждому направлению с этим направлением. Например, я хочу что-то, что вернет (0, 1) для North, (-1, 0) для West и т.д. Я знаю, что в Java вы можете объявить метод внутри перечисления, который мог бы обеспечить эту функциональность.
Мое текущее решение - иметь статический метод - внутри класса, который определяет перечисление, - который возвращает вектор, соответствующий переданному в ArrowDirection (метод использует HashTable для выполнения поиска, но это не очень важно). Это кажется... нечистым.
Вопрос:
Есть ли лучшее решение для хранения дополнительной информации, соответствующей перечислению в .NET?