C# 使用另一个类中的数据动态创建Expandoobject

C# 使用另一个类中的数据动态创建Expandoobject,c#,C#,假设我有一个元数据类AccountData,它保存模拟数据以进行自动测试 我正在使用这些数据的子集插入数据库中的各个表中 例如1 dynamic table1 = new ExpandoObject(); table1 .AccountId = AccountId; table1 .DateOfBirth = AccountData.DateOfBirth; table1 .Gender = AccountData.Gender; table1 .Title = 0; ....etc 例2 d

假设我有一个元数据AccountData,它保存模拟数据以进行自动测试

我正在使用这些数据的子集插入数据库中的各个表中

例如1

dynamic table1 = new ExpandoObject();
table1 .AccountId = AccountId;
table1 .DateOfBirth = AccountData.DateOfBirth;
table1 .Gender = AccountData.Gender;
table1 .Title = 0;
....etc
例2

dynamic table2 = new ExpandoObject();
table2 .Forename = AccountData.Forename;
table2 .Surname = AccountData.Surname;
table2 .HomePhone = AccountData.HomePhone;
table2 .MobilePhone = AccountData.MobilePhone;
... etc
我想知道是否有一种更优雅的方法来生成DynamicObject?我在想一个函数,比如

private static ExpandoObject Generatedynamic(List<String> ColumnsToInclude)
{
//todo
}
private static expandooobject Generatedynamic(列表列包括)
{
//待办事项
}

ExpandoObject实现了IDictionary,因此您可以像使用任何其他字典一样使用它的Add()方法


我的一个Github项目中有一个示例->

只是好奇,为什么要使用动态对象?可以用一个简单的字典来代替吗?感谢tucasz,我能够使用反射和字典来动态构建我的对象!