可以的,把項目的類型設成類庫,將所有的函數用Public修飾附封裝在類里面,生成dll文件。這樣別人就可以在別人項目屬性的引用頁里面添加對你的dll文件的引用,然后導入命名空間,直接使用了。
章丘網站制作公司哪家好,找成都創新互聯公司!從網頁設計、網站建設、微信開發、APP開發、成都響應式網站建設等網站項目制作,到程序開發,運營維護。成都創新互聯公司2013年至今到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選成都創新互聯公司。
比如說,在一個項目里:
NameSpace Controller
Public Class ControlMachine
Public Sub Boot()
End Sub
Public Sub Shutdown()
End Sub
End Class
End NameSpace
進入另一個項目的項目屬性,進入引用頁,添加到那個dll文件的引用。在代碼中:
Imports Controller '加在代碼文檔的最頂端
使用:
Dim controller As New ControlMachine
controller.Boot()
controller.Shutdown()
希望你能了解,不懂再追問
在VB.NET的類里,實現一個接口的語句是:
implements接口名稱
例如,下面定義一個車(總稱)的接口,這里的車是各種車的總稱:
Public Interface ICar
Property color() As String
Property speed() As Long
Sub PrintInfo()
End Interface
然后在不同類型的“車”類里實現它:
Public Class A_Car
Implements ICar
Dim m_color As String, m_speed As Long
Public Property color() As String Implements ICar.color
Get
Return m_color
End Get
Set(ByVal Value As String)
m_color = Value
End Set
End Property
Protected Overrides Sub Finalize()
MsgBox(I was deconstructed!)
End Sub
Public Sub New()
m_color = Red
m_speed = 210
MsgBox(I was constructed!)
End Sub
Public Property speed() As Long Implements ICar.speed
Get
Return m_speed
End Get
Set(ByVal Value As Long)
m_speed = speed
End Set
End Property
Public Sub PrintInfo() Implements ICar.PrintInfo
MsgBox(Color: m_color vbNewLine Speed: m_speed, MsgBoxStyle.Information)
End Sub
End Class
在 Form 的 Load 事件中編寫:
Dim myCar As New A_Car
myCar.PrintInfo()
運行之后就創建了一個 A_Car 類的實例 myCar,然后出現兩個對話框,分別說明實例已經創建和汽車的信息。當窗體卸載時,這個類的實例 myCar 將自動銷毀,這時將出現一個“I was deconstructed!”的對話框。
聲明一個接口時,需要考慮以下幾點:
1.接口主體只限于對方法,索引器以及屬性的聲明;
2.接口成員是隱式公開的,如果對其顯式指定訪問級別,就會出現編譯器錯誤;
3.接口中不能包含字段,構造函數和常量等;
4.在接口中不能實現任何方法,屬性或者索引器;
5.在指定方法時,只需要給出返回類型,名稱和參數列表,然后分號結束。
面向對象的接口
在C++中,一個類被允許繼承多個類。但是在Java以后的語言不被允許。
這樣,如果想繼承多個類時便非常困難。所以開發方想出了新辦法:接口。
一個接口內,允許包含變量、常量等一個類所包含的基本內容。但是,接口中的函數不允許設定代碼,也就意味著不能把程序入口放到接口里。由上可以理解到,接口是專門被繼承的。接口存在的意義也是被繼承。和C++里的抽象類里的純虛函數是相同的。不能被實例化。
定義接口的關鍵字是interface,例如:
publicinterfaceMyInterface{
public void add(int x,int y);
public void volume(int x,int y,int z);
}
繼承接口的關鍵字是implements,相當于繼承類的extends。
需要注意的是,當繼承一個接口時,接口里的所有函數必須全部被覆蓋。例如:
class Demo implements MyInterface{
public void add(int x,int y){
System.out.println( +(x+y));
}
public void volume(int x,int y,int z){
System.out.println( +(x*y*z));
}
public static void main(String args[]){
Demo d=new Demo();
d.add(10,20);
d.volume(10,10,10);
}
}
輸出結果:
30
1000
當想繼承多個類時,開發程序不允許,報錯。這樣就要用到接口。因為接口允許多重繼承(,),而類不允許。所以就要用到接口。
dim objEye as IEye = new Eye(); '用接口型引用,new 實現類的對象。
messagebox.show(objEye.IEye) '調用屬性
CType 函數
任何數據類型
必須在兩種數據類型之間定義擴大轉換或收縮轉換
引發 InvalidCastException
DirectCast
任何數據類型
一個類型必須繼承自或者實現另一個類型
引發 InvalidCastException
TryCast
僅引用類型
一個類型必須繼承或者實現另一個類型
返回 Nothing (Visual Basic)
返回表達式顯式地轉換為指定數據類型、對象、結構、類或接口后的結果。
CType(expression, typename)各部分說明expression任何有效的表達式。如果 expression 的值超出了 typename 所允許的范圍,將會出現錯誤。
typename任何在 Dim 語句的 AS 子句內合法的表達式,即任何數據類型、對象、結構、類或接口的名稱。
備注CType 采用內聯方式編譯,即轉換代碼是計算表達式的代碼的一部分。因為不需要調用完成轉換的過程,因此執行速度更快。
示例本示例使用 CType 函數將表達式轉換為指定的數據類型。
public IReccharge checkCfactory(string AssemblyName){
string ClassName = AssemblyName + "." + db + "RechargeDAL" ;
Assembly obj = Assembly.LoadFrom(ClassName);
foreach(Type t in obj.GetTypes()){
if (t.GetInterface("IRecharge ") != null){
IRecharge pluginclass = Activator.CreateInstance(t) as IRecharge ;
return pluginclass;
}
}
return null;
}
手寫的,編譯下看看,應該沒什么問題。返回的是一個IRecharge 的實例
網頁名稱:vb.net轉換接口 vb中進制轉換
網站URL:http://m.kartarina.com/article42/hgjiec.html
成都網站建設公司_創新互聯,為您提供網站營銷、品牌網站設計、動態網站、電子商務、服務器托管、商城網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯