从对象中获取所有属性,包括引用成员的属性

Midnight_Blaze

例子:

 public class B
    {
        [IsSearchable]
        [IsEncryptable]
        public string bPropA { get; set; }
        [IsSearchable]
        [IsEncryptable]
        public string bPropB { get; set; }
    }
    class A
    {
        [IsSearchable]
        [IsEncryptable]
        public string PropA { get; set; }
        [IsSearchable]
        [IsEncryptable]
        public string PropB { get; set; }
        [IsSearchable]
        public int PropC { get; set; }
        [IsSearchable]
        public B PropD { get; set; }
    }

因此,在上面的示例中,当将 A 类对象发送到函数时,我需要所有 6 个属性。到目前为止,我已经尝试过:

    A a = new A();
    a.GetType().GetAllProperties();

但它只返回 4 个属性而不是它的成员属性。环顾四周,但找不到任何关于此事的问题,至少不是具体的。

游行

我想你需要做类似的事情:

(未经测试)

List<PropertyInfo> GetPropertiesRecursive(Type type)
{
    var properties = new List<PropertyInfo>
    foreach(var propertyInfo in type.GetProperties())
    {
        properties.Add(propertyInfo);
        if(!propertyInfo.PropertyType.IsValueType)
        {
            properties.AddRange(GetPropertiesRecursive(propertyInfo.PropertyType));
        }
    }
    return properties;
}

请注意,值类型也可以具有属性。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Excel中的Application.ActiveSheet的所有属性-对象浏览器未列出成员的属性

来自分类Dev

如何在javascript中获取文件对象的所有属性?

来自分类Dev

获取Windows 10中Excel对象的所有属性的列表

来自分类Dev

从文件中读取所有属性(也包括嵌套属性!)

来自分类Dev

获取所有属性java对象

来自分类Dev

获取对象的所有属性的列表

来自分类Dev

获取对象的所有属性的列表

来自分类Dev

ActiveRecord查询以检索所有对象属性,包括关联

来自分类Dev

从DBPedia获取所有(荷兰)属性,包括前缀

来自分类Dev

如何获取GAE多重模型的所有类属性(在Python中),包括通过@property定义的那些属性

来自分类Dev

无法解析属性路径中的所有属性引用

来自分类Dev

从...可变深度对象的子对象的所有子对象中获取属性

来自分类Dev

从...可变深度对象的子对象的所有子对象中获取属性

来自分类Dev

从ManagementObjectCollection中的所有对象获取所有非null属性

来自分类Dev

更新MongoDb中对象的所有属性

来自分类Dev

Rails验证对象中的所有属性

来自分类Dev

C#中的XMLSerializer不包括类的所有属性

来自分类Dev

MAYA中的PYTHON:获取所有属性

来自分类Dev

MAYA中的PYTHON:获取所有属性

来自分类Dev

从类中获取所有静态属性

来自分类Dev

从对象数组获取所有唯一的对象属性

来自分类Dev

获取没有唯一属性的对象的引用

来自分类Dev

从对象中获取属性

来自分类Dev

根据引用对象中来自manytomanyfield的属性获取查询集

来自分类Dev

RABL-通配符包括所有属性

来自分类Dev

标记所有对象属性,包括根据需要嵌套的对象

来自分类Dev

VisualVM:如何查找堆中对象的大小,包括其字段中引用的所有对象?

来自分类Dev

C#获取C#中某种对象类型的所有属性

来自分类Dev

如何获取JS对象中特定嵌套属性的所有值

Related 相关文章

  1. 1

    Excel中的Application.ActiveSheet的所有属性-对象浏览器未列出成员的属性

  2. 2

    如何在javascript中获取文件对象的所有属性?

  3. 3

    获取Windows 10中Excel对象的所有属性的列表

  4. 4

    从文件中读取所有属性(也包括嵌套属性!)

  5. 5

    获取所有属性java对象

  6. 6

    获取对象的所有属性的列表

  7. 7

    获取对象的所有属性的列表

  8. 8

    ActiveRecord查询以检索所有对象属性,包括关联

  9. 9

    从DBPedia获取所有(荷兰)属性,包括前缀

  10. 10

    如何获取GAE多重模型的所有类属性(在Python中),包括通过@property定义的那些属性

  11. 11

    无法解析属性路径中的所有属性引用

  12. 12

    从...可变深度对象的子对象的所有子对象中获取属性

  13. 13

    从...可变深度对象的子对象的所有子对象中获取属性

  14. 14

    从ManagementObjectCollection中的所有对象获取所有非null属性

  15. 15

    更新MongoDb中对象的所有属性

  16. 16

    Rails验证对象中的所有属性

  17. 17

    C#中的XMLSerializer不包括类的所有属性

  18. 18

    MAYA中的PYTHON:获取所有属性

  19. 19

    MAYA中的PYTHON:获取所有属性

  20. 20

    从类中获取所有静态属性

  21. 21

    从对象数组获取所有唯一的对象属性

  22. 22

    获取没有唯一属性的对象的引用

  23. 23

    从对象中获取属性

  24. 24

    根据引用对象中来自manytomanyfield的属性获取查询集

  25. 25

    RABL-通配符包括所有属性

  26. 26

    标记所有对象属性,包括根据需要嵌套的对象

  27. 27

    VisualVM:如何查找堆中对象的大小,包括其字段中引用的所有对象?

  28. 28

    C#获取C#中某种对象类型的所有属性

  29. 29

    如何获取JS对象中特定嵌套属性的所有值

热门标签

归档