'IU2DefineData类名
'IU2DefineData类中IU2AddressInf类名
'address是IU2AddressInf类中的字段
Private Shared mIU2Data As IU2DefineData
Public Function GetDate() As DataTable
Dim t As Type = GetType(IU2DefineData)
Dim address As FieldInfo = GetType(IU2AddressInf).GetField("address`")
Dim value As FieldInfo = GetType(IU2AddressInf).GetField("value")
Dim comment As FieldInfo = GetType(IU2AddressInf).GetField("Comment")
Dim dt As DataTable = New DataTable
Dim rows As DataRow
Dim fieldKey As String = Nothing
Dim fields() As FieldInfo
Try
dt.Columns.Add("address", GetType(String))
dt.Columns.Add("value", GetType(String))
dt.Columns.Add("`data", GetType(String))
dt.Columns.Add("Comment", GetType(String))
fields = t.GetFields()
For Each field As FieldInfo In fields
'取到类中变量值
fieldKey = field.Name
Dim addressValue As String = address.GetValue(field.GetValue(mIU2Data))
Dim strvalue As String = value.GetValue(field.GetValue(mIU2Data))
Dim strComment As String = comment.GetValue(field.GetValue(mIU2Data))
rows = dt.NewRow
rows.Item("address") = fieldKey
rows.Item("value") = addressValue
rows.Item("data") = strvalue
rows.Item("Comment") = strComment
dt.Rows.Add(rows)`
Next
Catch ex As Exception
End Try
Return dt
End Function
本文介绍了一种使用反射来获取IU2DefineData类及其内部IU2AddressInf类的属性值的方法,并将这些值填充到DataTable中返回,以便于进一步的数据处理。

被折叠的 条评论
为什么被折叠?



