Как использовать отражатель для просмотра реализации функций библиотеки .NET - PullRequest
2 голосов
/ 19 июля 2009

Я попытался увидеть реализацию функции [MethodImpl(MethodImplOptions.InternalCall)] public extern int get_Length();, которая, в свою очередь, является свойством длины строки.

Но рефлектор дал мне следующую ошибку:

Участник не загружен или может быть скрыт из-за настроек видимости

Однако элемент загружен и настройки видимости ВСЕ

Ответы [ 2 ]

2 голосов
/ 19 июля 2009

Я полагаю, что методы extern - это те, которые "обычно" реализуются с использованием других DLL, в основном нативных. И, конечно, когда это так, вы находитесь вне отражающей поверхности!

1 голос
/ 19 июля 2009

Некоторые очень важные типы, такие как String, имеют много методов, которые реализованы с использованием собственного кода. Свойство Length String является одним из таких примеров. Это также видно из модификатора extern. Отражатель не может показать вам реализацию этих методов.

...