RTTI の操作
Delphi を使ったプログラミング:インデックス への移動
はじめに
実行時型情報(RTTI)は、型に関する情報を実行時に取得できるプログラミング パラダイムです。 RTTI の生成が有効な場合、結果として出力されるバイナリには、型に関する情報(たとえば、クラスの分類階層、宣言済みフィールド、注釈付き属性など)が記載された特別なメタデータが含まれています。 System.Rtti ユニットに用意されている機能を用いれば、この情報を実行時に取得できます。 最終的には、RTTI を公開するあらゆる型を操作できる、より抽象的で一般化されたフレームワークを作成できるようになります。
メモ: このセクションでは、Delphi 言語の RTTI について説明します。
- C++ での RTTI の詳細については、「実行時型情報(RTTI):インデックス」を参照してください。
- C++ アプリケーションにおける Delphi RTTI の詳細は、「Delphi RTTI と C++Builder」を参照してください。
メモ: ジェネリック メソッドについては、実行時型情報は生成されません。
RTTI 生成の制御
以下のコンパイラ指令を使用すると、実行時型情報の生成を制御できます。 RTTI の生成を制限して実行可能ファイルのサイズを小さくするとよいでしょう。
Delphi | C++ |
---|---|
{$M}, {$TYPEINFO} | Declspec(delphirtti) |
{$METHODINFO} | N/A |
{$RTTI} | #pragma explicit_rtti |
{$WEAKLINKRTTI} | N/A |
トピック
関連項目
コード例
- Category:RTTI
- RTL.AttributesAndRTTI Sample(数多くのコード サンプルが RTTI を使用しています)