Альтернативное извращение
X++:
#localMacro.
case Command::%1: return new Edit%1();
#endmacro
switch (_cmd)
{
#(CopyAll)
#(Copy)
#(MoveAll)
#(Move)
}
return null
ничего не повторяется, зато макросы
X++:
new SysDictClass(className2ID('Edit' + new DictEnum(enumNum(Command)).valueToSymbol(_cmd))).makeObject()
ничего не повторяется, нет макросов, зато компилятор не ругнется, если нет класса
НЕ ИСПОЛЬЗОВАТЬ В РАБОЧЕМ КОДЕ