使用反射遍历类属性

摇摇欲坠

我正在尝试使用反射来遍历我的类属性,在这里尝试使用一些线程作为指导,但是propertyInfo数组始终不返回任何内容。

Public Sub GetProperties(ByRef objType As Type)

    Dim propertyInfo() As PropertyInfo = objType.GetProperties((BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.DeclaredOnly))

    For Each propertyItem As System.Reflection.PropertyInfo In propertyInfo
        Console.WriteLine(propertyItem.Name & " is of type " & propertyItem.PropertyType.ToString)
        Console.WriteLine(vbCrLf & vbCrLf)
    Next

End Sub

Imports System.Data.SqlClient
Imports System.Web
Imports System.IO
Public Class Collection
    Inherits AppBase
    Public Sub New(ByVal newConnectionString As String, ByVal newAppBrand As String, ByVal newRepID As Integer)
    MyBase.New(newConnectionString, newAppBrand, newRepID)
End Sub

Public Class CollectionRecord
    Inherits AppRecord

    Public collectionID As Integer
    Public name As String
    Public sqmBasePrice As Long
    Public summary As String
    Public imageName As String
End Class

Module DownloadData
   Public Function CheckData
      Dim collectionRecord as new CollectionRecord
      GetProperties(collectionRecord)
   End Function
End Module

如果我在GetProperties参数中用字符串类型替换自定义类,则会得到两个返回的属性。有任何想法吗?

谢谢保罗

凯文·博伊尔

您定义的类型CollectionRecord具有五个字段,但没有属性。

Public Class CollectionRecord
    Inherits AppRecord

    Public collectionID As Integer
    Public name As String
    Public sqmBasePrice As Long
    Public summary As String
    Public imageName As String
End Class

然后,您可以使用反射API遍历该类型属性

这里的解决方案是:

  1. 遍历类型字段而不是属性
  2. 重新定义您的类型以具有属性而不是字段MSDN

1和2都可以使用,仅取决于您的需求。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用反射从字典设置属性

来自分类Dev

在类属性上使用out参数

来自分类Dev

使用反射获取属性引用

来自分类Dev

使用cython早期输入类属性

来自分类Dev

使用变量访问类属性

来自分类Dev

硒使用javascript获取元素的类属性

来自分类Dev

如何使用类属性调用静态方法?

来自分类Dev

通过反射区分类属性类型

来自分类Dev

C#-使用反射设置属性的属性

来自分类Dev

使用jstl访问类属性

来自分类Dev

如何使用类属性使用扩展方法

来自分类Dev

使用反射填充自定义类属性

来自分类Dev

使用lxml检索类属性的名称

来自分类Dev

如何使用反射获取嵌套类属性的值?

来自分类Dev

在方法中使用类属性

来自分类Dev

使用Rspec进行多类属性验证

来自分类Dev

使用Excel VBA获取类属性值

来自分类Dev

使用JavaScript在条件中添加类属性

来自分类Dev

使用反射设置控件的属性

来自分类Dev

使用反射获取类属性信息,不返回任何内容

来自分类Dev

循环遍历对象属性而无需反射

来自分类Dev

使用LINQ遍历外部类集合中的内部类属性

来自分类Dev

使用变量访问类属性

来自分类Dev

通过反射区分类属性类型

来自分类Dev

使用反射设置属性值

来自分类Dev

使用反射设置属性的属性

来自分类Dev

使用反射获取属性

来自分类Dev

使用反射的每个属性的 ValidationRule

来自分类Dev

循环遍历每个类属性并使用反射获取其值