【发布时间】:2017-05-18 06:54:49
【问题描述】:
我有一个像这样的大型结构(50 多个成员):
Public Structure DagDay
Public DayDate As Date
Public DayEcoZone As String
Public DayOrd As Boolean
Public DayHelg As Boolean
Public DayAfton As Boolean
Public DayEvent As Boolean
Public DayEventText As String
Public DayIncVat As Boolean
Public DayOmsTot As Integer
Public DayOmsCat1 As Integer
Public DayOmsCat2 As Integer
Public DayOmsCat3 As Integer
.....
End Structure
...
Dim ThisDay as DagDay
现在我试图让一个函数在变量 ThisDay 中设置任何特定成员的值,但我不知道如何(否则是一个大的选择..案例..)。
Public Function SetValue(ByVal Field As String, ByVal value As VariantType) As Boolean
Select Case Field
Case "DayDate"
ThisDay.DayDate = value
Case "DayEcoZone"
ThisDay.DayEcoZone = value
Case "DayOrd"
ThisDay.DayOrd = value
Case "DayHelg"
ThisDay.DayHelg = value
.....
End Select
我希望能够做这样的事情(伪代码):
Public Function SetValue(ByVal Field As String, ByVal value As VariantType) As Boolean
ThisDay.[Field] = value
Return True
End Function
如何使用字符串变量来引用结构中的特定成员(字段)?
【问题讨论】:
-
VariantType是什么? -
@Plutonix,我认为这是对 Microsoft.VisualBasic.VariantType 枚举的滥用。
-
你从哪里得到你传入的
Field的值? -
@Enigmativity,
Field的值来自相应输入字段的名称属性(TextBox或CheckBox):在三个不同@ 之一中动态创建的es-控件987654330@.
标签: vb.net visual-studio structure