用Visual C#來做組件,其實是一件很容易的事情。至少比用VISUAL C++要容易的多。在本文中,筆者將為您詳細介紹如何來做一個組件。我們可以通過二個步驟來完成這個過程:1.制作一個組件;2.在客戶端測試這個組件。
一.制作一個組件
1.首先建立一個新類庫工程文件
選擇File->New->Project->Visual C# Projects->Class Library。填入工程文件名稱,並且通過Browse按鈕選擇文件要存放的目錄。然後點擊OK。
2.工程文件和他所包含的文件
此時的工程文件中的Solution Explorer已經加了兩個C#的類。分別是AssemblyInfo.cs和Class1.cs我們只要關心的是Class1.cs就可以了,AssemblyInfo.cs可以不管它。
3.namespace mcMath(名稱空間 mcMath)
雙擊Class1.cs,就會看到namespace mcMath,我們在客戶端調用組件的時候,會涉及到這個namespace:
public long Add (long val1, long val2)
{
return 0;
}
public bool Extra
{
get
{
return true;
}
set
{
}
}
至此,在確認上面的事情都已經完成後,編譯這個工程文件時就可以在bin/debug目錄裡面找到mcMath.dll,它就是組件。但此時的組件沒有任何功能,下面我們將進一步的完善它。
4.加入一個方法
從View menu中打開ClassVIEw,我們看到的Class1沒有任何方法和屬性。現在我們給它加上一個方法和一個屬性。
點中Class1,右擊,選擇Add->Add Method...
這時會彈出VISUAL C#的方法制作向導窗口。你可以在此向導的幫助下,為你的組件加入方法的名稱、訪問類型、返回值、參數,甚至是注釋。用Add和Remove按鈕可以方便的從參數列表中增加或刪除參數。我們在此加入一個方法:long Add( long val1,long val2 ),這個方法的功能是把兩個數相加,然後返回他們的和。
5.加入一個屬性
重復加入方法的過程,在同樣的位置,打開C#的屬性向導,按照下圖為組件加入一個屬性。
在上述過程完成以後,Class1就變成了如下的模樣:
再仔細看看Class1類,你就會發現向導在我們的組件中加入了兩個函數:
public long Add (long val1, long val2)
{
return 0;
}
public bool Extra
{
get
{
return true;
}
set
{
}
}
6.為Class添加代碼
按照下面的代碼改造Class,並且把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 ;
}
}
}
}
7.生成DLL
編譯工程文件生成組件,該組件會在工程文件的bin\debug目錄裡,文件擴展名是DLL。
二.測試DLL
在客戶端,用VISUAL C#調用剛才我們生成的組件,按照以下幾步即可。
1.新建一個控制應用程序
選擇File->New->Project->Visual C# Projects->Console Application。我們就通過這個控制應用程序來測試我們的組件。
2.為Namespace(名稱空間)添加引用
打開Project->Add reference,浏覽到剛才生成的DLL,然後按OK。
添加引用向導將會把引用加到當前的工程文件的類裡。
3.調用mcMath名稱空間,創建mcMathComp對象,並且調用它的方法和屬性
按照下面的步驟就可以方便的調用方法和屬性。
(1)使用namespace,使用mcMath;
(2)創建mcMathComp對象;
mcMathComp cls = new mcMathComp();
(3)調用方法和屬性;
mcMathComp cls = new mcMathComp();
long lRes = cls.Add( 23, 40 );
cls.Extra = false;
下面是完整的程序代碼:
namespace mcClIEnt
{
using System;
using mcMath;
public class Class1
{
public Class1()
{
}
public static int Main(string[] args)
{
mcMathComp cls = new mcMathComp();
long lRes = cls.Add( 23, 40 );
cls.Extra = false;
return 0;
}
}
}
至此我們就完成了一個組件從制作到測試的全部工作。