如何在vb.net上的公共类中调用变量?

时间:2011-08-22 16:13:42

标签: vb.net

我有这个公共课

    Public Class commonSettings
        Dim etcString As String = "some string"
    End Class

如何调用 etcString 并完全在我的代码中使用它?

3 个答案:

答案 0 :(得分:4)

通过公共财产访问

Public Class commonSettings
    Dim etcString As String = "some string"
    Public Property mETCString(ByVal value as String) As String
         Get
              return etcString
         End Get
         Set(value as String)
              etcString = value
         End Set
    End Property
End Class

如果使用VB 10(VS 2010),则使用自动实现的属性

Public Class commonSettings
    Public Property etcString As String = "some string"
End Class

或使变量可直接访问

Public Class commonSettings
    Public etcString As String = "some string"
End Class

然而,康拉德提到创建一个公共变量并不是最好的主意。这背后的原因如下:

  • 如果更改内部实现,则可能会破坏外部依赖项。
  • 您不能在变量上使用DataBinding
  • 变量被视为更多的实现级别项,而属性定义了更多的对象接口。

答案 1 :(得分:1)

使用Public修饰符。

http://msdn.microsoft.com/en-us/library/ms973875.aspx#methodscope_topic3

如果您希望能够在没有实例的情况下访问它,请同时使用Shared修饰符。

编辑:代码示例

Public Class commonSettings
    Public Shared etcString As String = "some string"
End Class

答案 2 :(得分:0)

除了msarchet的答案(这可能是这个问题的正确答案“我如何让一个成员不那么私人”),如果你正在寻找无状态的变量,(意味着你不必拥有周围类的一个实例)并且你不希望它是一个共享成员(因此你不必编写classname.membername),你可能正在寻找一个模块。

你制作一个这样的模块:

Module GlobalVars
    Public etcString as String = "Some String"
End Module

然后只需说出

就可以从程序中的任何地方调用它
etcString = "New String"