以class2為例,如果你只需要一個(gè)class2實(shí)例,那么把它在class1成員中聲明為共享成員即可。
創(chuàng)新互聯(lián)成立于2013年,公司以成都網(wǎng)站建設(shè)、網(wǎng)站制作、系統(tǒng)開發(fā)、網(wǎng)絡(luò)推廣、文化傳媒、企業(yè)宣傳、平面廣告設(shè)計(jì)等為主要業(yè)務(wù),適用行業(yè)近百種。服務(wù)企業(yè)客戶1000+,涉及國內(nèi)多個(gè)省份客戶。擁有多年網(wǎng)站建設(shè)開發(fā)經(jīng)驗(yàn)。為企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、創(chuàng)意設(shè)計(jì)、宣傳推廣等服務(wù)。 通過專業(yè)的設(shè)計(jì)、獨(dú)特的風(fēng)格,為不同客戶提供各種風(fēng)格的特色服務(wù)。
Shared c2 As New Class2()
然后調(diào)用它的函數(shù),
c2.func()
如果class2的這個(gè)函數(shù)不依賴于class2實(shí)例,那么直接將這個(gè)函數(shù)用Shared聲明,
Public Shared Function func() As xxx
'xxxxx
End Function
然后在class1中引入,
Imports class2
直接調(diào)用即可。
func()
我想第二種更符合你的情況。
讓兩個(gè)類都繼承同一個(gè)“電源設(shè)備”抽象類或者實(shí)現(xiàn)接口,然后用反射來動(dòng)態(tài)讀取類庫中的類。
在項(xiàng)目A里添加引用,在“添加引用”對話框里找到項(xiàng)目B就可以了。也可以先把項(xiàng)目B生成dll文件,然后在項(xiàng)目A中添加對這個(gè)dll文件的引用。
DLL(動(dòng)態(tài)鏈接庫)是一個(gè)很有用的東西,在開發(fā)大項(xiàng)目的時(shí)候顯得非常重要,因?yàn)槎嗳撕献鏖_發(fā)時(shí),可以給每個(gè)人分配一個(gè)任務(wù),用DLL完成,最后組合起來,就不會(huì)出現(xiàn)互相沖突的問題。這里給出最簡單的DLL編寫與調(diào)用的示例
首先,我們打開VB.NET,選擇類庫,名稱改為test
然后輸入以下代碼
Public?Class?test
Public?Function?test(ByVal?a?As?Long,?ByVal?b?As?Long)?As?Long
Return?a?+?b
End?Function
End?Class
保存后,生成DLL文件。
這就是最簡單的一個(gè)DLL,下面是調(diào)用該DLL的示例
新建一個(gè)工程,單擊“項(xiàng)目” -- 添加引用
找到剛才生成的DLL,雙擊它
添加引用以后,似乎什么也沒發(fā)生,這時(shí)我們輸入以下代碼:
Imports test.test
這樣,就包含了該DLL的類。
然后我們定義一個(gè)類
Dim test As New test.test
這樣,就可以使用里面的函數(shù)了,下面是程序示例
Imports?test.test
Public?Class?Form1
Private?Sub?Form1_Load(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?MyBase.Load
Dim?test?As?New?test.test
MsgBox(test.test(1,?2))
End?Sub
End?Class
運(yùn)行該程序,可以看到,調(diào)用了DLL內(nèi)的函數(shù)。
這就是最簡單的DLL示例,可以將一些復(fù)雜的代碼集成到DLL里,以后升級或重用都比較方便。