从 Visual Basic 6.0 到 Visual Basic.NET 的转换(3),从 Visual Basic 6.0 到 Visual Basic.NET 的转换(3)
【 tulaoshi.com - vb 】
升级向导
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)过程的 ParamArray 参数标记有升级警告。例如,以下代码:
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)Function MyFunction(ParamArray p() As Variant)
...
End Function
升级后将变为:
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)UPGRADE_WARNING: ParamArray p was changed from ByRef to ByVal
Function MyFunction(ByVal ParamArray p() As Object)
...
End Function
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)声明中的 As Any 参数
Visual
Basic 6.0 本地 API 的参数可以声明为 As Any,这样对本地 API 的调用就可以传递任何数据类型。通过这一方法,可以调用参数支持两种或多种数据类型的 API。
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)Visual Basic.NET
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)重载的 Declare 语句可以定义为允许调用带有两种或多种数据类型的本地 API。例如,以下 Declare 语句:
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)Private Declare Function GetPrivateProfileString _
Lib "kernel32" Alias "GetPrivateProfileStringA" ( _
ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long, _
ByVal lpFileName As String) As Long
可以由两个 Declare 版本代替,一个接受 Long,一个接受字符串。
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)Overloads Private Declare Function GetPrivateProfileStringKey _
Lib "kernel32" Alias "GetPrivateProfileStringA" ( _
ByVal lpApplicationName As String, _
ByVal lpKeyName As String, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long, _
ByVal lpFileName As String) As Long
Overloads Private Declare Function GetPrivateProfileStringNullKey _
Lib "kernel32" Alias"GetPrivateProfileStringA" ( _
ByVal lpApplicationName As String, _
ByVal lpKeyName As Long, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long, _
ByVal lpFileName As String) As Long
这提高了类型的安全性,并减少了导致程序失败的小毛病。这一情况的存在是因为编译器不允许通过没有显式定义的数据类型来调用 API。
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)升级
向导
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)使用 As Any 参数的 Declare 语句标记有升级警告。
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)Implements
Visual
Basic 6.0 Implements 语句指定在其出现的类模块中实现的接口或类。
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)Visual Basic.NET
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)Visual Basic.NET 中的 Implements 与 Visual Basic 6.0 中的 Implements 有两个本质区别:
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)在 Implements 语句中不能指定类。
每一种实现方法均要求在方法声明语句的结束处使用 Implements 子句。该子句指定其实现的接口方法。
由于要求每一种实现接口方法的方法均使用 Implements 子句,所以提高了代码的可读性;在阅读使用方法来实现接口方法的的代码时,这一优点显而易见。
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)升级
向导
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)如果类 a 实现类 b,则将为类 b 声明接口,且类 a 将变为实现类 b 的接口:
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)Interface _b
Function MyFunction() As String
End Interface
Class a
Implements _b
Function b_MyFunction() As String Implements _b.MyFunction
End Function
End Class
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)属性
Visual
Basic 6.0 在 Visual Basic 6.0 中,特定属性的 Get、Let 和 Set 属性函数可以通过不同级别的访问选项声明。例如,Property Get 函数可以声明为 Public 而 Property Let 可以声明为 Friend。
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)Visual Basic.NET
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)属性的 Get 和 Set 函数必须具有相同级别的访问选项。这样就便于 Visual Basic.NET 与其他 .NET 语言协同操作。
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)升级
向导
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)如果访问选项的级别不同,则新属性为 Public。
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)默认属性
Visual
Basic 6.0 任何成员均可标记为类的默认值。
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)Visual Basic.NET
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/vb/)只有接受参数的属性可以标记为默认值。对于将成为集合中的索引的带参数属性,这一情况很常见。
来源:http://www.tulaoshi.com/n/20160129/1484771.html
看过《从 Visual Basic 6.0 到 Visual Basic.NET 的转换(3)》的人还看了以下文章 更多>>