【发布时间】:2026-01-14 06:35:02
【问题描述】:
我知道有很多主题都有相同的问题,但我很困惑。
我想遍历我的对象属性并写入值。
但是我所看到的一切都告诉了
Dim pinfo() As PropertyInfo = MyCompanies(1).GetType().GetProperties()
这将创建一个包含属性信息的数组,但它不存储该 object.property 的实际值,
属性名称是ticker,但Mycompanies(1).ticker的值是AMZN。
我的代码:
Dim pinfo() As PropertyInfo = MyCompanies(1).GetType().GetProperties()
'Loop through Properties
For pi = 0 To pinfo.Length - 1
'I want to get the values of each property
Console.WriteLine(?)
Next pi
注意:MyCompanies(1) 只是对象数组中的第二个对象,所有对象都属于公司类
https://msdn.microsoft.com/en-us/library/b05d59ty(v=vs.110).aspx 也无济于事。它让我相信我应该这样做:
For Each pi In pinfo
'I want to get the values of each property
Console.WriteLine(PropertyInfo.GetValue(MyCompanies(1))
Next pi
但这甚至不会建立。是不是因为我试图通过使用数组中的位置来给它对象?
...在这个循环之外,我将不得不遍历我的对象数组,所以我想我可以将 1 替换为 i...
【问题讨论】:
-
PropertyInfo Class 有很多属性和方法(比如它是什么数据类型,它是只读的,等等)。当你迭代(循环)时,你需要深入研究它以获得你想要的任何东西
标签: vb.net propertyinfo