2017-02-28 55 views
0

我一直在學習C#並試圖在單獨的解決方案中創建特定的邏輯。如何訪問C#中的項目DLL類中的方法

在這種情況下,我創建了一個包含幾個類的項目,每個類都有特定方法用於某些過程。我爲這個項目創建了一個DLL,我們稱它爲「LogicLibrary.DLL」

現在,我創建了另一個項目,其中添加了對「LogicLibrary.DLL」的引用。

現在,我的問題是,我不知道我應該如何訪問DLL的類內的方法。

假設LogicLibrary.DLL有一類 「Calculator.cs」 這反過來方法Add(int a, int b)Sub(int a, int b)Mul(int a, int b)Div(int a, int b)

在新項目中,如何訪問上述任何方法。是否有任何特定的方法來創建DLL中的類的對象?

想得到您的幫助!謝謝!

+0

'Calculator'是一個靜態類嗎?如果不是,你需要實例化類或從中繼承。 – maniak1982

+0

你不應該創建一個單獨的解決方案。確保您的訪問修飾符(公共,內部,私有..)設置正確。 – kblau

+0

請記住,從外部解決方案直接引用DLL可能是一個糟糕的主意。只要有可能,如果您需要從解決方案之外引用代碼,則應該創建NuGet包並將它們存儲在NuGet服務器中。這允許您管理一個解決方案與另一個解決方案之間的版本依賴關係。 – mason

回答

0

您已導入庫。現在您需要告訴編譯器如何找到您打算使用的類。

所有庫都有一個默認名稱空間。您可以通過右鍵單擊項目並選擇「屬性」來查看它。

您的類定義還可以指示一個名稱空間。例如:

namespace LogicLibrary 
{ 
    //Class(es) here 
} 

所以,如果你加入一個參考匯入這個庫,你的代碼來使用類有告訴編譯器在哪裏可以找到它。您可以在幾個方面做到這一點:

以便它能夠通過編譯器會自動應用你可以導入命名空間:

using LogicLibrary; 

您也可以完全限定您要使用的類的名稱:

var calculator = new LogicLibrary.Calculator(); 

無論哪種方式的作品。命名空間不過是邏輯容器,旨在幫助您組織代碼以避免衝突。

0

如果您在參考文獻中添加了LogicLibrary.dll,則只需將其放入使用中即可。

using LogicLibrary; 
0

我的工作項目,然後發現我可以創建這樣的類的對象:

LogicLibrary.Calculator calculatorObject =新LogicLibrary.Calculator(); int sum = calculatorObject.Add(1,3);