3、創(chuàng)建C# 類庫 (Dll) |
以前在VC++中創(chuàng)建一個dll文件不能說簡單,但在Visual C# 中,這將同樣是輕而易舉的事情。下面的介紹分成兩部分:1、創(chuàng)建DLL,2、在客戶端測試dll。 |
(1)創(chuàng)建DLL |
首先創(chuàng)建一個空的類庫工程。在VS.NET集成環(huán)境(IDE)中選擇“文件->新建->工程文件->Visual C# 工程->類庫”,點擊Browse(瀏覽)按鈕選擇工程文件名和相應的目錄,再點擊 OK。 |
接著看看工程和它的相關文件。Solution Explorer(解決方案探測器)向工程中增加兩個C# 類,第一個是 AssemblyInfo.cs ,第二個是Class1.cs。我們不討論AssemblyInfo,重點介紹 Class1.cs。 |
|
雙擊Class1.cs,就能看到一個名稱空間mcMath。我們將在客戶機引用這個名稱空間以使用這個類庫: |
namespace mcMath |
{ |
using System; |
/// <summary> |
/// Summary description for Class1. |
/// </summary> |
public class Class1 |
{ |
public Class1() |
{ |
// |
// TODO: Add Constructor Logic here |
// |
} |
} |
} |
現在就可以Build(構造)這個工程了。Build(構造)完畢后,就會在工程文件的bin/debug 目錄中生成mcMath.dll文件。 |
增加一個方法 |
從View (視圖)菜單中打開ClassView(類視圖),開始只顯示Class1,沒有方法和屬性。現在來增加一個方法和一個屬性。 |
用鼠標右鍵單擊“Class1”,選擇“Add(增加)-> Add Method(增加方法)”,這時將彈出C# 方法生成向導: |
|
在這個窗口中增加方法名、存取類型、返回類型、參數以及注釋信息。使用Add(增加)和Remove(取消)按鈕可分別從參數列表中增加和取消參數。這里增加了一個方法long Add( long val1, long val2 ),它負責將兩個數字相加并返回和。 |
增加一個屬性 |
同理可以通過C#屬性生成向導,向類中增加一個屬性: |
|
增加了一個方法和一個屬性后, Class1變成下圖所示的樣子: |
|
仔細觀察這個 Class1,你會發(fā)現C#的向導程序向類中增加了如下兩個函數: |
public long Add (long val1, long val2) |
{ |
return 0; |
} |
? |
public bool Extra |
{ |
get |
{ |
return true; |
} |
set |
{ |
} |
} |
向類中增加代碼 |
這里把Class1修改成為 mcMathComp ,因為 Class1是個容易造成混淆的名字,當想將這個類用在一個客戶應用程序中時會造成問題。下面的代碼對上面的做了些調整: |
namespace mcMath |
{ |
using System; |
public class mcMathComp |
{ |
private bool bTest = false; |
public mcMathComp() |
{ |
} |
public long Add (long val1, long val2) |
{ |
return val1 + val2; |
} |
public bool Extra |
{ |
get |
{ |
return bTest; |
} |
set |
{ |
bTest = Extra ; |
} |
} |
} |
} |
構造 dll |
選擇Build菜單創(chuàng)建dll文件,如果一切OK,就會在工程文件的 bindebug目錄生成dll文件。 |
(2)在客戶端測試 dll |
在客戶端調用dll的方法和屬性也是非常簡單的工作,請遵照下面的步驟執(zhí)行: |
① 創(chuàng)建控制臺應用程序 |
在VS.NET IDE集成環(huán)境中選擇“文件-> 新建->工程文件->Visual C#工程文件->控制臺應用程序”,最終將在這個控制臺應用程序中測試dll。 |
② 增加名稱空間的引用 |
選擇“工程->添加引用”(Project->Add reference),然后瀏覽文件找到dll,點擊 Ok: |
|
引用添加向導程序將向當前工程文件中增加對相關庫的引用: |
③ 調用mcMath名稱空間,創(chuàng)建 mcMathComp 的對象,并調用其方法和屬性。 |
現在距離調用組件的方法和屬性只有一步之遙了。請按照以下步驟進行: |
●引用名稱空間:using mcMath |
●創(chuàng)建一個 mcMathComp的對象:mcMathComp cls = new mcMathComp(); |
●調用方法和屬性 |
mcMathComp cls = new mcMathComp(); |
long lRes = cls.Add( 23, 40 ); |
cls.Extra = false; |
以下是完整的工程文件代碼: |
namespace mcClient |
{ |
using System; |
using mcMath; |
/// <summary> |
/// Summary description for Class1. |
/// </summary> |
public class Class1 |
{ |
public Class1() |
{ |
// |
// TODO: Add Constructor Logic here |
// |
} |
public static int Main(string[] args) |
{ |
mcMathComp cls = new mcMathComp(); |
long lRes = cls.Add( 23, 40 ); |
cls.Extra = false; |
return 0; |
} |
} |
} |
請下載工程文件: mcMath.zip???????????????????(全文完) |
新聞熱點
疑難解答