VB.NET这一编程语言虽然使用灵活,但是在实际编程中通常都会遇到一些问题,值得我们在实践中积累经验去解决。在这里介绍的解决方法是针对VB.NET参数类型不符的一些问题,希望对大家有所帮助。#t#
在VB中执行过程或函数时,会提示"ByRef参数类型不符" 。
分析VB.NET参数类型不符这一问题主要由于对应参数的类型不符造成的。造成这种情况一般有几种情况:
1。传递参数未定义类型,如果参数在调用前未定义类型,系统自动将它定义为Variant类型,由于与过程或函数中的对就参数类型不相同,所以提示"ByRef参数类型不符"
2。传递参数类型已经定义,但由于定义方法不对,所以提示"ByRef参数类型不符"。具体情况如下:
当VB中如此定义变量时,将会出现VB.NET参数类型不符的问题
- 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
程序执行正常。也就是说,第一种方法的变量定义,只是对 J 做了定义,并未对前面的 I 进行定义
一般在过程和函数中定义参数时采用ByRef,则要求参数声明的类型和实际参数的类型完全相同,否则就会出现VB.NET参数类型不符。