VB.NET參數(shù)類型不符相關(guān)解決方法
VB.NET這一編程語言雖然使用靈活,但是在實(shí)際編程中通常都會(huì)遇到一些問題,值得我們?cè)趯?shí)踐中積累經(jīng)驗(yàn)去解決。在這里介紹的解決方法是針對(duì)VB.NET參數(shù)類型不符的一些問題,希望對(duì)大家有所幫助。#t#
在VB中執(zhí)行過程或函數(shù)時(shí),會(huì)提示"ByRef參數(shù)類型不符" 。
分析VB.NET參數(shù)類型不符這一問題主要由于對(duì)應(yīng)參數(shù)的類型不符造成的。造成這種情況一般有幾種情況:
1。傳遞參數(shù)未定義類型,如果參數(shù)在調(diào)用前未定義類型,系統(tǒng)自動(dòng)將它定義為Variant類型,由于與過程或函數(shù)中的對(duì)就參數(shù)類型不相同,所以提示"ByRef參數(shù)類型不符"
2。傳遞參數(shù)類型已經(jīng)定義,但由于定義方法不對(duì),所以提示"ByRef參數(shù)類型不符"。具體情況如下:
當(dāng)VB中如此定義變量時(shí),將會(huì)出現(xiàn)VB.NET參數(shù)類型不符的問題
- Private Sub Command1_Click()
- Dim i , j As Integer
- i = 3
- j = 4
- Call get1(i, j)
- Text1.Text = i
- End Sub
- Private Sub get1
(ByRef para1 As Integer,
para2 As Integer)- para1para1 = para1 + para2
- End Sub
如果將 Dim i , j As Integer 改為
- Dim i As Integer
- Dim i As Integer
程序執(zhí)行正常。也就是說,第一種方法的變量定義,只是對(duì) J 做了定義,并未對(duì)前面的 I 進(jìn)行定義
一般在過程和函數(shù)中定義參數(shù)時(shí)采用ByRef,則要求參數(shù)聲明的類型和實(shí)際參數(shù)的類型完全相同,否則就會(huì)出現(xiàn)VB.NET參數(shù)類型不符。