通过反射递归查找对象属性?

用户名

假设我有课,

class A
{
  B PropA{get; set;}
}

class B
{
  string PropB{get; set;}
  C PropC{get; set;}
}

class C
{
  string PropD{get; set;}
}

现在我想获取“ PropA.PropB”吗?同样,我想获取“ PropA.PropC.PropD”,依此类推吗?我需要创建一个将“ PropA.PropB”作为参数并返回PropetyInfo的方法。

萨加斯人
static class Program
{
    static readonly BindingFlags flags = BindingFlags.Static | BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;

    static void Main() {
        var a = new A { PropA = new B() { PropB = "Value" } };
        var prop = GetPropertyRecursive("PropA.PropB", a);
    }

    static object GetPropertyRecursive(string property, object obj) {
        var splitted = property.Split('.');
        var value = obj.GetType().GetProperty(splitted[0], flags).GetValue(obj);

        if (value == null) {
            return null;
        }

        if (splitted.Length == 1) {
            return value;
        }

        return GetPropertyRecursive(string.Join(".", splitted.Skip(1)), value);
    }
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过反射递归查找对象属性?

来自分类Dev

查找对象属性(反射)的困难

来自分类Dev

通过嵌套数组中的match属性查找对象

来自分类Dev

如何通过列表中的属性值获取/查找对象

来自分类Dev

Python - 如何通过查找对象的属性来搜索存储在列表中的对象

来自分类Dev

通过realm.js查找对象

来自分类Dev

通过查找特定值通过对象列表查找对象

来自分类Dev

PHP OOP按属性查找对象

来自分类Dev

在JSON文件中查找对象属性

来自分类Dev

递归查找对象的子对象 c#

来自分类Dev

通过属性值在嵌套数据中查找对象(使用JSONPath)

来自分类Dev

ES6:通过其属性之一在数组中查找对象

来自分类Dev

JavaScript-通过类似的属性查找对象并将其推送到新数组中

来自分类Dev

JavaScript-通过类似的属性查找对象并将其推送到新数组中

来自分类Dev

Rails - 通过属性在活动记录关联中查找对象而不发出更多查询

来自分类Dev

递归查找对象,找到后返回null

来自分类Dev

如何通过对象数组中的id查找对象?

来自分类Dev

如何通过对象数组中的id查找对象?

来自分类Dev

如何查找对象数组并仍然保留对象属性?

来自分类Dev

查找对象参考

来自分类Dev

如何通过vue-router参数中的id查找对象,然后将其属性传递给vue中的模板

来自分类Dev

通过用户输入在ArrayList中查找对象-Java

来自分类Dev

如何通过其哈希码查找对象?

来自分类Dev

jsoncpp。通过匹配值在数组中查找对象

来自分类Dev

通过附加信息在SplObjectStorage中查找对象

来自分类Dev

Ruby on Rails 4通过ID查找对象

来自分类Dev

NodeJS通过键的值在数组中查找对象

来自分类Dev

在Firebase中通过其唯一ID查找对象

来自分类Dev

通过数组值在MongoDb中查找对象

Related 相关文章

  1. 1

    通过反射递归查找对象属性?

  2. 2

    查找对象属性(反射)的困难

  3. 3

    通过嵌套数组中的match属性查找对象

  4. 4

    如何通过列表中的属性值获取/查找对象

  5. 5

    Python - 如何通过查找对象的属性来搜索存储在列表中的对象

  6. 6

    通过realm.js查找对象

  7. 7

    通过查找特定值通过对象列表查找对象

  8. 8

    PHP OOP按属性查找对象

  9. 9

    在JSON文件中查找对象属性

  10. 10

    递归查找对象的子对象 c#

  11. 11

    通过属性值在嵌套数据中查找对象(使用JSONPath)

  12. 12

    ES6:通过其属性之一在数组中查找对象

  13. 13

    JavaScript-通过类似的属性查找对象并将其推送到新数组中

  14. 14

    JavaScript-通过类似的属性查找对象并将其推送到新数组中

  15. 15

    Rails - 通过属性在活动记录关联中查找对象而不发出更多查询

  16. 16

    递归查找对象,找到后返回null

  17. 17

    如何通过对象数组中的id查找对象?

  18. 18

    如何通过对象数组中的id查找对象?

  19. 19

    如何查找对象数组并仍然保留对象属性?

  20. 20

    查找对象参考

  21. 21

    如何通过vue-router参数中的id查找对象,然后将其属性传递给vue中的模板

  22. 22

    通过用户输入在ArrayList中查找对象-Java

  23. 23

    如何通过其哈希码查找对象?

  24. 24

    jsoncpp。通过匹配值在数组中查找对象

  25. 25

    通过附加信息在SplObjectStorage中查找对象

  26. 26

    Ruby on Rails 4通过ID查找对象

  27. 27

    NodeJS通过键的值在数组中查找对象

  28. 28

    在Firebase中通过其唯一ID查找对象

  29. 29

    通过数组值在MongoDb中查找对象

热门标签

归档