GetValue 的用法

Neusoft06 2012-05-03 09:35:45
我想用GetValue取类中类的变量值,也就是 name ,id ,value 的值
Public Class Class1
Public Class subClass
Public name As String
Public id As String
Public value As String
End Class
Public p1 As subClass
Public p2 As subClass
Public p3 As subClass
’------------------------------------------------
Sub GetDate()
Dim row As DataRow
Dim t As Type = GetType(Class1)
Dim fields() As FieldInfo
Dim subfields() As FieldInfo
'Dim subcl As subClass = New subClass
Try

dt.Clear()
fields = t.GetFields()
Dim i As Integer = 0
For Each field As FieldInfo In fields
row = dt.NewRow
’上一级类的 p1,p2,p3 取到了
row.Item("name") = field.Name
Dim subType As Type = field.Name.GetType()
subfields = subType.GetFields()
For Each subfield As FieldInfo In subfields

‘这里不知道怎么写
‘想取到p1.name p1.id p1.value 的值
subfield.GetValue(XXXXXXXXXXXX)

rows.Item("name") = p1.name
rows.Item("id") = p1.id
rows.Item("value") = p1.value
dt.Rows.Add(row)
Next
Next
Catch ex As Exception

End Try
End Sub
...全文
1854 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Neusoft06 2012-05-03
  • 打赏
  • 举报
回复
subType.GetField("name").GetValue(field.GetValue(GetClass1()))

Public Shared Function GetClass1() As Class1

If (mClassData Is Nothing) Then
mClassData = New Class1()
End If
Return mClassData
End Function

这样好像能解决了
Neusoft06 2012-05-03
  • 打赏
  • 举报
回复
subType.GetField("name").GetValue(p1)
能取到值,用什么可以代替p1 动态的取到值呢

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧