直播中
一.制作一個組件
1.首先建立一個新類庫工程文件
選擇File->New->Project->Visual C# Projects->Class Library。填入工程文件名稱,并且通過Browse按鈕選擇文件要存放的目錄。然后點擊OK。
2.工程文件和他所包含的文件
此時的工程文件中的Solution Explorer已經(jīng)加了兩個C#的類。分別是AssemblyInfo.cs和Class1.cs我們只要關(guān)心的是Class1.cs就可以了,AssemblyInfo.cs可以不管它。
3.namespace mcMath(名稱空間 mcMath)
雙擊Class1.cs,就會看到namespace mcMath,我們在客戶端調(diào)用組件的時候,會涉及到這個namespace:
public long Add (long val1, long val2)
{
return 0;
}
public bool Extra
{
get
{
return true;
}
set
{
}
}
至此,在確認(rèn)上面的事情都已經(jīng)完成后,編譯這個工程文件時就可以在bin/debug目錄里面找到mcMath.dll,它就是組件。但此時的組件沒有任何功能,下面我們將進(jìn)一步的完善它。
4.加入一個方法
從View menu中打開ClassView,我們看到的Class1沒有任何方法和屬性。現(xiàn)在我們給它加上一個方法和一個屬性。
點中Class1,右擊,選擇Add->Add Method...
這時會彈出VISUAL C#的方法制作向?qū)Т翱?。你可以在此向?qū)У膸椭?,為你的組件加入方法的名稱、訪問類型、返回值、參數(shù),甚至是注釋。用Add和Remove按鈕可以方便的從參數(shù)列表中增加或刪除參數(shù)。我們在此加入一個方法:long Add( long val1,long val2 ),這個方法的功能是把兩個數(shù)相加,然后返回他們的和。
5.加入一個屬性
重復(fù)加入方法的過程,在同樣的位置,打開C#的屬性向?qū)В凑障聢D為組件加入一個屬性。
在上述過程完成以后,Class1就變成了如下的模樣:
再仔細(xì)看看Class1類,你就會發(fā)現(xiàn)向?qū)г谖覀兊慕M件中加入了兩個函數(shù):
public long Add (long val1, long val2)
{
return 0;
}
public bool Extra
{
get
{
return true;
}
set
{
}
}
6.為Class添加代碼
按照下面的代碼改造Class,并且把Class1改名為mcMathComp(這是因為Class1是缺省名稱,容易造成混亂,在客戶端調(diào)用組件時候可能會出問題)。
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目錄里,文件擴(kuò)展名是DLL。
二.測試DLL
在客戶端,用VISUAL C#調(diào)用剛才我們生成的組件,按照以下幾步即可。
1.新建一個控制應(yīng)用程序
選擇File->New->Project->Visual C# Projects->Console Application。我們就通過這個控制應(yīng)用程序來測試我們的組件。
2.為Namespace(名稱空間)添加引用
打開Project->Add reference,瀏覽到剛才生成的DLL,然后按OK。
添加引用向?qū)岩眉拥疆?dāng)前的工程文件的類里。
3.調(diào)用mcMath名稱空間,創(chuàng)建mcMathComp對象,并且調(diào)用它的方法和屬性
按照下面的步驟就可以方便的調(diào)用方法和屬性。
(1)使用namespace,使用mcMath;
(2)創(chuàng)建mcMathComp對象;
mcMathComp cls = new mcMathComp();
(3)調(diào)用方法和屬性;
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;
}
}
}
至此我們就完成了一個組件從制作到測試的全部工作。