Что такое метакласс и как его использовать?

Метакласс используется при моделировании на уровне метамодели, т.е. определяет какие сущности могут использоваться в модели.
Например, чтобы в модели могли быть классы (class), на уровне метамодели должен существовать метакласс Class.
Все элементы модели являются экземплярами какого-либо метакласса.

Использовать метакласс можно только в том случае, если вы хотите моделировать на уровне метамодели. Например, хотите определить новую сущность.

Оригинал тут .

{smfdispute}