Разоблачение методов DLL в C # - PullRequest
5 голосов
/ 17 марта 2009

После того, как кто-то создаст DLL на C # с использованием среды разработки Microsoft Visual, как другой программист возьмет этот код, создаст новый проект, который содержит исходный код DLL, и создаст графический интерфейс, который использует API DLL?

Я уже сделал следующие четыре шага:

1) В обозревателе решений щелкните правой кнопкой мыши «Ссылки» и выберите «Добавить ссылку ...».

2) Выберите вкладку «Обзор».

3) Перейдите к DLL и выберите ее.

4) Добавьте соответствующую директиву using в начало кода.

Что дальше? После того, как я объявил новый объект, как я могу увидеть, какие методы использовать?

Ответы [ 6 ]

10 голосов
/ 17 марта 2009

Вид меню -> Обозреватель объектов

Вы должны иметь возможность просматривать объекты / методы и т. Д., Содержащиеся в DLL и доступные для общественности.

1 голос
/ 17 марта 2009

вы можете загрузить DLL с помощью инструмента .NET Reflector из red-gate и увидеть все API и даже то, как это было реализовано. *

1 голос
/ 17 марта 2009

У меня нет кода с головы, но вы исследовали библиотеку Reflection? Вы должны быть в состоянии выяснить и запустить все, что вам нужно с этим ...

1 голос
/ 17 марта 2009

Вы должны иметь возможность использовать intellisense и проводник объектов как всегда. Без источника, который будет вашим лучшим выбором.

0 голосов
/ 17 марта 2009

Вы можете открыть любую .NET DLL в этом стороннем инструменте, который называется " .NET Reflector ". Этот инструмент позволит вам просмотреть все типы / методы / свойства и даже декомпилировать код, содержащийся в DLL.

.NET Reflector похож на объектный браузер в Visual Studio, но намного мощнее.

Если вы еще не пробовали Reflector, я настоятельно рекомендую его (им действительно легко пользоваться)!

0 голосов
/ 17 марта 2009

Ну ...

Предположим, ваша библиотека называется MyLib.DLL

Вы бы сделали:

MyLib ml = new MyLib();
ml.YourMethodsShouldAppearHere(); //If they are public of course.

;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...