2013-01-21 30 views
0

我從我的電腦上的另一個程序獲得了一個dll。根據它的名字,它可以具有我自己的C#項目所需的功能。 它似乎也是用c#編寫的。在c#項目中使用未知的dll

是否有可能找到它的功能並使用它們?

+2

什麼是你所追求的功能?看起來很奇怪,只是選擇一個你認爲可能會工作的隨機DLL ... – c0deNinja

+1

@ c0deNinja:你顯然從未與Sage ACT合作過! SDK ...:grin: –

回答

2

如果您想要了解有關DLL(用.NET編寫的涉及IL的知識),Visual Studio將提供Object Browser

screenshot of object browser http://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-65-29/4774.wmob04.jpg
this msdn blog

借用不過,如果你需要更多的控制或需要的能力,不僅包括圖書館,但查看源(在大多數情況下),並通過它一步(調試),我建議抓住.NET Reflector

+0

Reflector沒有免費版本,只有試用版。有幾個免費的反編譯器,如dotPeek可用。爲此,你甚至不需要反編譯器。 – svick

+0

@布拉德克里斯蒂。在這種情況下使用.NET反射器就像用火箭筒殺死蒼蠅。我認爲你的第二點是這種情況下的最佳解決方案。 –

0

絕對!如果可以通過右鍵單擊項目引用來添加它作爲參考,請單擊添加引用,然後瀏覽到它,它應該與您正在使用的.NET版本兼容。在這一點上,嘗試實例化它,看看你是否可以去實例化的定義。原油,但一個有效的方式來習慣使用外部dll。

3

如果它是一個C#DLL,那麼你可以添加一個引用並使用它。如果它是一個本地DLL,那麼你需要做一些逆向工程。

但是,您所描述的並不是開發軟件的常規方法。要編寫體面的軟件,您需要爲您使用的庫提供良好的文檔。試圖猜測圖書館如何被調用是一種災難。開發應基於對您使用的工具的深入理解。

0

如果它確實是一個C#DLL,那麼可以將它添加爲項目的引用,然後使用對象瀏覽器查看它包含的命名空間和類。

1

您只需在項目中引用您想要的dll,然後使用Object Browser即可查看您可以訪問哪些方法等。

步驟1:添加參考

enter image description here

步驟2:選擇DLL

enter image description here

步驟3:查看在對象瀏覽器

enter image description here

第4步:瀏覽圖書館

enter image description here

第5步:找到您需要的

編碼快樂:)

+0

令人印象深刻,非常有表​​現力! –