如何动态覆盖动态对象的所有属性?

问题描述 投票:0回答:1

我有两个动态对象,我想用对象B的值覆盖对象A的值

问题是两者均为dynamic类型

我设法用]提取属性的名称>

TypeDescriptor.GetProperties(oldObject);

但是我不确定如何读取和设置动态对象的动态属性

oldObject.GetType().GetProperty("Test")之类的东西不起作用,因为甚至GetType().GetProperties()都返回空集合

预先感谢

我有两个动态对象,我想用对象B的值覆盖对象A的值。问题是,它们都是动态类型,我设法用...

c#
1个回答
0
投票
下面您可以获取所有属性及其值。

dynamic dynamicObj = //define it object obj = dynamicObj; string[] propertyNames = obj.GetType().GetProperties().Select(p => p.Name).ToArray(); foreach (var name in propertyNames) { object value = obj.GetType().GetProperty(name).GetValue(obj, null); }

© www.soinside.com 2019 - 2024. All rights reserved.