2009-07-18 12 views
2

[MethodImpl(MethodImplOptions.InternalCall)] public extern int get_Length();関数の実装を確認しようとしましたが、これは文字列のLengthプロパティです。リフレクターを使用して.NETライブラリ関数の実装を表示する方法

しかし、リフレクターは私に次のエラーました:

The member is not loaded or may be hidden due to your visibility settings

をメンバーがロードされ、表示設定は、私はのextern方法が「通常」他を使用して実装されているものです信じALL

答えて

2

ですがDLL、主にネイティブDLL。そして、もちろんそうだとすれば、あなたは反射芝生の外です!

+0

どのように実装を確認できますか? – Learner

+0

簡単な答え - .NETコードを反映したときに表示されるレベルの実装を見ることはできません。しかし、DLLを逆アセンブルしてアセンブリーの指示を理解できるようになるかもしれませんが、私はそこには行きません。とにかく何を達成したいですか? –

1

Stringのようなある種の非常に重要なタイプには、ネイティブコードを使用して実装された多くのメソッドがあります。 LengthプロパティはStringです。そのような例の1つです。これはextern修飾子からも見ることができます。リフレクターは、これらのメソッドの実装を示すことはできません。

+0

どうすれば実装を確認できますか? – Learner

+2

このコードはもはやILコードではないので、 "Reflector"内に入ることはできません。そのネイティブアセンブリコードは、他の非ネットツールと逆アセンブルする必要があります。注: "PeID"ツールを使用すると、アプリケーションがどの言語で書かれているかを見ることができます。http://www.peid.info/ –

関連する問題