Какой лучший шаблон C # для реализации иерархии с перечислением?

Я реализую типы значений, которые представляют расстояние (или длину). Существует перечисление, которое представляет различные единицы измерения, например:

public enum DistanceUnit 
{
   Millimeter,
   Centimeter,
   Meter,
   Kilometer,
   Inch,
   Foot,
   Yard,
   Mile
};

Эти измерения относятся к одной из двух систем - метрической или британской. Поскольку enum не поддерживает иерархии, какой шаблон лучше всего для представления этой иерархии?

Использовать ли битовые флаги? Или использовать два отдельных перечисления вместе с некоторыми методами для их корреляции? Или объявить статические члены вместо перечислений?

Дайте мне несколько советов ... как вы это реализовать?


Изменить - дополнительные пояснения:

Неужели я обнаружил неправильное дерево, желая реализовать его таким образом?

9
задан Mark 20 October 2010 в 09:30
поделиться