如何在不删除其他类的情况下访问另一个类中的变量?

时间:2011-10-31 09:34:13

标签: vb.net oop vb6-migration

我被指控将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语句,但是它们遇到了很多问题。

感谢。 尼克

3 个答案:

答案 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将是您要访问公共对象的类。