Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将对象列表更改为对象的属性_C#_Silverlight_Casting - Fatal编程技术网

C# 将对象列表更改为对象的属性

C# 将对象列表更改为对象的属性,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

我有一个对象列表(主要是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, 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)转换成一个对象,我就可以在表达式编辑器中使用它了。我希望这样更清楚:)