2012-02-24 7 views
0

アンマネージドC++ではType::GetMembers()PropertyInfo::GetValue()のようなものをやりたい管理VC++があります。管理VC++で管理されていないC++でリフレクションのような操作を実行

私は少しだけUnmanaged Reflection APIについて読んでいますが、私が正しい道にいるかどうかはわかりません。

ありがとうございました。

+0

いいえ、コンパイラが生成しませんネイティブコードのメタデータアンマネージドリフレクションAPIを使用すると、管理対象プログラムのメタデータにネイティブコードでアクセスできます。コンパイラやsomesuchを書くときに便利です。 –

+0

@Hans:コンパイラは、['/ Zi'](http://msdn.microsoft.com/en-US/library/958x11bc.aspx)を渡すと、メタデータを生成します。 - "以下を含むプログラムデータベース(PDB)を生成します。タイプ情報 " –

答えて

0

あなたは完全に間違った場所を探しています。

これらの操作を実行する最も一般的なツールはネイティブデバッガで、必要なメタデータはデバッグデータベース(Visual C++の.pdbファイル)に格納されます。

The native debugging APIs are extensively documented.

例えば

SymGetTypeInfo(及びSymGetTypeInfoEx以降)は、ベースクラス、メンバー、等を含む、System.Typeに見られるものとほぼ同等の情報へのアクセスを提供

関連する問題