当前位置: 网学 > 编程文档 > VB > 正文

从Visual Basic 6.0 到 Visual Basic.NET 的转换

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/16
下载{$ArticleTitle}原创论文样式


升级向导

如果访问选项的级别不同,则新属性为 Public。

默认属性
Visual Basic 6.0
任何成员均可标记为类的默认值。

Visual Basic.NET
只有接受参数的属性可以标记为默认值。对于将成为集合中的索引的带参数属性,这一情况很常见。
这使得代码的可读性更强,因为对没有成员的对象变量的引用通常指向对象自身,而不是指向上下文中的对象和其他上下文中的默认属性。例如,语句 Call Display(TextBox1) 可能是将文本框实例传递给 Display 函数,也可能是传递文本框的内容。
此外,删除这种二义性避免了使用单独的语句执行引用赋值。赋值 x = y 总是意味着将变量 y 的内容赋值给变量 x,而不是将 y 引用的对象的默认属性赋值给 x 引用的对象的默认属性。

升级向导

尽可能解析默认属性。无法解析时(延迟绑定对象)将添加错误注释。

枚举
Visual Basic 6.0
枚举常数可以无限定地被引用。

Visual Basic.NET
如果在文件或项目级别为枚举添加了 Import,则枚举常数可以无限定引用。 这样可以与类、结构和接口保持一致,在类、结构和接口中,可以给成员赋予通用名称,而不必担心与其他成员冲突。例如,Color 枚举和 Fruit 枚举均可以包含名称为 Orange 的常数。在 Visual Basic 6.0 中的规则是,为枚举常数加上前缀使每个常数保持唯一。这使常数名称非常累赘,如 MsColorOrange 和 MsFruitOrange。

升级向导

对枚举的引用将变为完全限定。

While
Visual Basic 6.0
While 语句以 WEnd 语句结束。

Visual Basic.NET
为了与其他块结构保持一致,While 的结束语句变为 End While。这提高了语言的一致性和可读性。

升级向导

将 WEnd 语句变为 End While。

OnGoTo 和 OnGoSub
Visual Basic 6.0
根据表达式的值,On expression GoTo destinationlist 和 On expression GoSub destinationlist 语句使程序转向目标列表中的若干个指定行之一。

Visual Basic.NET
OnGoTo 和 OnGoSub 是非结构化的编程构造。它们的使用让程序更加难以阅读和理解。Select Case 可以提供一种更加结构化和灵活的方法来执行多个分支。
注意:仍然支持 On Error GoTo。

升级向导

以下示例:
On MyVariable GoTo 100,200,300
将标记有升级错误:
'' UPGRADE_ISSUE On MyVariable GoTo was not upgraded
On MyVariable GoTo 100,200,300
您应当重写代码以避免使用这样的语句,例如:
On x Goto 100,200,300
可以重写为:
Select Case x
Case 1: ''插入第 100 行的代码
Case 2: ''插入第 200 行的代码
Case 3: ''插入第 300 行的代码
End Select

GoSubReturn
Visual Basic 6.0
GoSub lineReturn 语句在过程中分支到子例程,然后从子例程返回。

Visual Basic.NET
GoSubReturn 是非结构化编程构造。它的使用让程序更加难以阅读和理解。一个更加结构化的替代方案是:创建可以调用的独立过程。

升级向导

与 OnGoTo 相同,这些语句均标记有升级错误。

LSet
Visual Basic 6.0
LSet 用空格填充字符串使其为指定长度,或者将用户定义类型的变量复制到另一个用户定义类型的变量。

Visual Basic.NET
不支持 LSet 语句。LSet 对类型而言很不安全,因此会在运行时导致错误。此外,由于它对类型而言不安全,因此执行时代码必须完全可靠。删除 LSet 语句后无法将一个结构复制到另一个结构;但是,可以修改 Visual Basic.NET 代码,使用 RtlCopyMemory 来获得相同的效果。

升级向导

语句:
LSet a1 = a2
将标记有升级错误
'' UPGRADE_ISSUE: LSet cannot assign a UDT from one type to another
LSet a1 = a2

VarPtr、StrPtr 和 ObjPtr
Visual Basic 6.0
VarPtr、StrPtr 和 ObjPtr 以整数形式返回变量的地址,然后将此地址传递到使用地址的 API 函数(例如 RtlCopyMemory)。VarPtr 返回变量的地址,StrPtr 返回字符串的地址,ObjPtr 返回对象的地址。这
  • 下一篇资讯: 微软.Net程序设计FAQ
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号