Я хочу создать иерархическое перечисление, которое представляет тип, который я могу передать как параметр.
Структура данных выглядит следующим образом:
enum Cars
{
Ford { Corsair, Cortina, Galaxy, GT },
Ferrari { Testarossa, California, Enzo },
...
}
Я хочу вызвать функцию со следующей сигнатурой:
public void BuildCar(Cars car);
Вот так:
BuildCar(Cars.Ferrari.Enzo);
В принципе, я хочу принудить отношения автомобиля/производителя к типу.