VB基于字符串变量引用模块中的属性

时间:2013-12-02 21:48:12

标签: vb.net properties

我有一个公共属性模块(命名常量,它的价值),没有一个与任何特定对象相关联。我需要根据字符串变量中的值调用这些属性。该变量的值将是我需要使用的属性的名称。

我所知道的最好的候选人是CallByName,但这需要一个对象来获取属性,正如我所提到的,在这种情况下不存在。

例如,变量应该采用的第一个值是“Master”。当我希望能够使用该变量来调用属性Master()(声明为公共属性的字符串数组)时。

提前致谢!

2 个答案:

答案 0 :(得分:1)

听起来像你试图以与Enum值相同的方式使用字符串。有几种方法可以做到这一点,但这里有一个简单的例子可以帮助你思考如何将字符串解决为常量编程问题。

Namespace Constants

Public Enum Priorities
    Unknown = 0
    Low = 1
    Medium = 2
    High = 3
    VeryHigh = 4
End Enum

Public Class ConverterTo
    Public Function Priority(ByVal value As String) As Constants.Priorities
        Select Case value.ToLower
            Case "low"
                Return Priorities.Low
            Case "medium"
                Return Priorities.Medium
            Case "high"
                Return Priorities.High
            Case "veryhigh"
                Return Priorities.VeryHigh
            Case Else
                Return Priorities.Unknown
        End Select
    End Function
End Class
End Namespace

答案 1 :(得分:0)

所以我最终要做的是声明ConsObj的一个实例(自初始发布后有一个重命名),该对象现在被传递给输出属性值的函数。

感谢大家的建议,有些人给了我关于如何在脚本中的其他地方更好地做其他事情的想法。对不起,我从来没有发布代码,只是有点麻烦,因为代码在网络上没有互联网访问。