Vb.Net 通过反射获取类的字段值

'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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值