我正在使用一个以 name=value 格式吐出大量数据的 API。起初,我通过简单的字符串比较来处理所有内容:
Sub ProcessData(ByVal name As String, ByVal value As String)
If name = "thisname" Then
DoThis(value)
ElseIf name = "thatname" Then
DoThat(value)
End If
End Sub
但是要处理超过 20 种不同的可能名称,这很快就变得难以维护。我的下一步是将字符串移动到私有子类中定义的常量:
Private Class Parameters
Private Sub New()
End Sub
Public Const ThisName As String = "thisname"
Public Const ThatName As String = "thatname"
End Class
我的方法看起来像这样:
Sub ProcessData(ByVal name As String, ByVal value As String)
If name = Parameters.ThisName Then
DoThis(value)
ElseIf name = Parameters.ThatName Then
DoThat(value)
End If
End Sub
这已经是一个巨大的飞跃,但现在我发现自己需要能够在其他类中使用这些常量。我对将它们转移到全球课程犹豫不决,但我只是看不到其他选择。
全局常量去哪了?