【发布时间】:2025-12-27 16:05:17
【问题描述】:
我正在使用升级向导将 VB6 项目升级到 VB.NET。我知道这会让我很伤心,但我正在努力使旧应用程序可用。如果我有时间,我会重写它,但我目前正在完成一份暑期实习,并且想要一些工作。
向导正在做的一件我找不到任何理由的事情是重命名随机变量。例如:
Structure ctrObj
Dim Name As String
Dim Index As Integer
Dim Top As Integer
'UPGRADE_NOTE: Left was upgraded to Left_Renamed. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="A9E4979A-37FA-4718-9994-97DD76ED70A7"'
Dim Left_Renamed As Integer
Dim Height As Integer
Dim width As Integer
Dim ScaleHeight As Integer
Dim ScaleWidth As Integer
End Structure
对于我的一生,我不明白为什么这会改变。据我所知,它不是保留名称,在范围内我找不到其他名为 left 的变量,重命名它不会产生编译器错误。
'UPGRADE_NOTE: Left was upgraded to Left_Renamed. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="A9E4979A-37FA-4718-9994-97DD76ED70A7"'
Dim Left_Renamed As Integer
改为
Dim Left As Integer
不会给出编译器错误。
它对整个项目中看似随机的变量执行此操作。有人知道为什么它不喜欢我的一些变量名吗?
【问题讨论】:
-
来自文档:“在某些情况下,必须重命名变量,因为原始名称与保留字冲突。例如,名为 Day 的变量将重命名为 Day_Renamed;Day 不是保留的Visual Basic 6.0 中的名称,但它是 Visual Basic 2008 中的名称。"
标签: vb.net visual-studio vb6-migration