Я реализую типы значений, которые представляют расстояние (или длину). Существует перечисление, которое представляет различные единицы измерения, например:
public enum DistanceUnit
{
Millimeter,
Centimeter,
Meter,
Kilometer,
Inch,
Foot,
Yard,
Mile
};
Эти измерения относятся к одной из двух систем - метрической или британской. Поскольку enum не поддерживает иерархии, какой шаблон лучше всего для представления этой иерархии?
Использовать ли битовые флаги? Или использовать два отдельных перечисления вместе с некоторыми методами для их корреляции? Или объявить статические члены вместо перечислений?
Дайте мне несколько советов ... как вы это реализовать?
Изменить - дополнительные пояснения:
Неужели я обнаружил неправильное дерево, желая реализовать его таким образом?