C# 将对象列表更改为对象的属性
我有一个对象列表(主要是int、string、double) 我想将列表中的项目转换为对象的属性 结果应该如下所示:MyObject.ItemOfList1、MyObject.ItemOfList2C# 将对象列表更改为对象的属性,c#,silverlight,casting,C#,Silverlight,Casting,我有一个对象列表(主要是int、string、double) 我想将列表中的项目转换为对象的属性 结果应该如下所示:MyObject.ItemOfList1、MyObject.ItemOfList2 我应该如何实现这一点?您可以尝试这样的方法- var listobj = new List<object>() { 1, 2, "3", "4", 1.2 }; var x = new ExpandoObject() as IDictionary<string, Obj
我应该如何实现这一点?您可以尝试这样的方法-
var listobj = new List<object>() { 1, 2, "3", "4", 1.2 };
var x = new ExpandoObject() as IDictionary<string, Object>;
foreach (var obj in listobj)
{
//Add a property dynamically - property name and value
x.Add(obj.ToString(), obj.ToString());
}
var listobj=newlist(){1,2,3,4,1.2};
var x=作为IDictionary的新ExpandooObject();
foreach(listobj中的var obj)
{
//动态添加属性-属性名称和值
x、 添加(obj.ToString(),obj.ToString());
}
是否已定义MyObject?您是只需要使用反射来分配值,还是希望根据列表的内容动态创建对象?MyObject未定义。我想根据列表的内容动态创建一个对象,您必须使用Reflection.Emit在新程序集中创建它。这听起来像是典型的XY问题。你想用X来实现Y,但你还没有告诉我们Y是什么。。。几乎可以肯定有更好的方法解决您的问题,但您需要告诉我们您正在尝试做什么。更准确地说,我正在网格上使用telerik的表达式编辑器,以便添加/删除列的值。因为我的列数是动态的,所以我使用字典来填充网格。工作正常,但表达式编辑器不接受该措辞。但当我使用静态对象时,它还可以。所以我想如果我把我的对象列表(从我的dict)转换成一个对象,我就可以在表达式编辑器中使用它了。我希望这样更清楚:)