我被指控将VB6项目移植到VB.NET中。在vb6中,如果您在与特定变量分开的类中,则可以轻松访问该变量:
Public Class Foo
Public k As Integer
End Class
Public Class Bar
k = 12
End Class
在VB.NET中,我的理解是,在你可以在另一个类中使用变量之前,你必须声明它的一个新实例:
Dim foobar As New Foo
这没关系,但是我必须从不同的类访问这些变量,每次我声明一个新实例时,它都会从我需要的变量中擦除所有旧值。有人可以帮忙吗?我尝试使用Inherits语句,但是它们遇到了很多问题。
感谢。 尼克
答案 0 :(得分:4)
您正在寻找shared
关键字。这使得该成员可用于其他类,而无需具有您的类的实例。有关详细信息,请参阅MSDN
答案 1 :(得分:2)
对于端口,只需像使用vb6
那样使用Public模块Public Module Foo
Public k As Integer
End Module
Public Module Bar
Foo.k = 12
End Module
这不是很好的做法,但它会帮助你在港口做第一次通行证。理想情况下,您将重构模块/共享函数,因为能够从系统中的任何部分访问变量将生成难以维护的代码
答案 2 :(得分:0)
Dim YourobjName As YourClassName = Me.DataContext
现在,您可以使用YourobjName使用公共方法和函数。这里YourClassName
将是您要访问公共对象的类。