如何从DynamicAssembly对象获取内容?

时间:2017-12-05 13:31:35

标签: c# object dynamic

所以我有一个dynamic object,里面有一些列表:

ob
 data
  [0]
    List one
      [...]
  [1]
    List two
      [...]

我无法从列表中恢复价值,我已经停留在数据级别,我已经尝试过了:

  object valor = t3.GetProperty("data").GetValue(ob, null);

我有一个这个结构的对象:

valor
  [0]
    List one
      [...]
  [1]
    List two
      [...]

如何进入其中的列表? 对此问题感到抱歉,但我已经花了几个小时搜索从对象中获取数据的示例,并且看起来没有用。

1 个答案:

答案 0 :(得分:0)

我用这个简单的代码弄明白了:

object ob = MyObject;
string datalevel = TheLevelIWant;
                        var data = ob.GetType().GetProperty("data").GetValue(ob);

                        if (data.GetType().IsGenericType)
                        {
                            foreach(object obj in (data as IEnumerable).Cast<object>().ToList())
                            {
                                ob = obj.GetType().GetProperty(datalevel);
                            }
                        }

使用此代码,我必须在每个级别搜索我想从中获取值的字段。 只需要添加递归方法即可。