我需要在运行时创建动态对象及其属性,然后创建此对象的实例来存储值。
为什么我想要上面的逻辑!
我在C#中读取excel文件,第一行代码是标题,它实际上是属性,后跟每一行都是记录,它是动态对象的实例。
List<string> ExcelDataHeader = new List<string>();
for (int y = 2; y <= colCount; y++)
{
ExcelDataHeader.Add(xlRange.Cells[headerRow, y].Value2.ToString());
}
dynamic MyDynamic = new System.Dynamic.ExpandoObject();
??????????
我需要在对象
中返回excel读取数据答案 0 :(得分:2)
你可以在这里使用ExpandoObject
- 它会起作用,但你需要使用字典API:
IDictionary<string, object> obj = new ExpandoObject();
obj["id"] = 123;
obj["name"] = "Fred";
// this is the "dynamic" bit:
dynamic dyn = obj;
int id = dyn.id; // 123
string name = dyn.name; // "Fred"
然而,我没有看到这一点。由于您不会通过obj.PropertyName
之类的内容引用C#代码中的对象,因此dynamic
的目的很少。您也可以将每条记录存储在Dictionary<string,object>
或类似内容中。 根据您所描述的内容,您无法将MyDynamic
实际用作dynamic
对象。