【发布时间】:2013-06-10 21:59:04
【问题描述】:
我在 vb.net 工作,我想知道是否有任何方法可以将变量字符串用于类的成员分配。要比较的字段由整数值表示,并基于枚举我想比较该整数表示的字段。例如,这是我想要完成的基本想法。
Public Class Point
Public X As Double
Public Y As Double
Public Z As Double
End Class
Public Enum PointEnum As Short
X = 0
Y = 1
Z = 2
End Enum
通过点列表,我希望能够根据传递给程序的“枚举值”来比较 x、y 或 z。
Dim PointList As New List(Of Point)
If PointList(0).[Enum].GetName(GetType(PointEnum), enumValue) < someValue Then
...
End If
PointList(0).[Enum].GetName(GetType(PointEnum), enumValue) 是我遇到问题的行。如果我的实际代码像 x、y 和 z 一样简单,我只会使用 select case 或 if 语句,但是我使用的类有超过30个属性。提前感谢任何建议或解决方案
【问题讨论】:
-
你可以使用
Dictionary(Of PointEnum, Double) -
您可能需要发送
System.Reflection才能完成此操作。所以你有一个数字,你需要以某种方式将它翻译成给定Point对象上的一个字段,是吗?然后你能得到那个字段的值并进行比较吗? -
是的,杰夫就是这个主意
标签: vb.net list class enumeration