【问题标题】:c# Get list of properties from generic object with an inherited classc#从具有继承类的通用对象获取属性列表
【发布时间】:2023-01-26 23:53:43
【问题描述】:

我有一个将 DataTable 转换为对象列表的函数。

public static List<T> ConvertToList<T> (DataTable dt)

我使用反射来获取给定类型 T 的属性。

System.Reflection.PropertyInfo[] types = typeof(T).GetProperties();

在我尝试传递一个继承的类之前,它运行良好。在这种情况下,我只得到父类的属性而没有得到子类的属性。

我尝试了不同的标志,但没有一个能给我想要的结果。
我是不是遗漏了什么,或者这是反思工作的预期方式?

【问题讨论】:

标签: c# generics system.reflection


【解决方案1】:

您将需要在您正在使用的对象上使用 .GetType() 而不是 typeof(T)。这将为您提供所有属性,包括那些声明为“进一步向下”的属性。

更多阅读:When and where to use GetType() or typeof()?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    • 2017-05-23
    • 2013-09-06
    • 1970-01-01
    相关资源
    最近更新 更多