我有一个公共属性模块(命名常量,它的价值),没有一个与任何特定对象相关联.我需要根据字符串变量中的值调用这些属性.该变量的值将是我需要使用的属性的名称.
我知道这样的最佳候选者是CallByName,但这需要一个对象来获取属性,正如我所提到的,在这种情况下不存在.
例如,变量应该采用的第一个值是“Master”.当我希望能够使用该变量来调用属性Master()(声明为公共属性的字符串数组)时.
提前致谢!
解决方法
对我而言,听起来就像你试图以与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