Расширенный RTTI работает как Reflection в .NET. Это дает вам доступ к вашей внутренней информации о структуре приложения. Вы можете получить доступ к свойствам класса, методам и т. Д. Во время выполнения, если вы не могли этого сделать раньше.
Некоторые способы его использования:
- Сериализация / десериализация классов в XML или другие носители
- Отображение объектов в базах данных. ОРМ.
- Клонирование объектов
- Динамический вызов методов
- «Сканирование» объекта во время выполнения и действовать в соответствии с этим.
- Упрощенная разработка систем типа "плагин"
Вероятно, существует множество сценариев, в которых было бы полезно его использовать. Короче говоря, это добавляет динамический аспект вашему приложению. Ваш продукт может делать некоторые вещи во время выполнения и более эффективно, чем проектировать все во время разработки. Это не серебряная пуля, и многие люди никогда не смогут ее использовать. Но некоторые шаблоны проектирования или некоторые проблемы просто не могут быть решены (по крайней мере, неэффективно) без использования нового RTTI