是否可以扩展现有对象?
我有密码
var record = new
{
id,
name
};
并有一个匿名对象列表
var list = new List<object>(){ object1, object2 };
我可以稍后将它们添加到对象中吗? 像某事一样
foreach (var o in list)
{
record.add(o);
}
我会得到这个结果
var record = new
{
id,
name,
object1,
object2
};
最佳答案
简而言之,没有。至少,不是匿名类型。这里有两种方法; dynamic
可能会给你你想要的,但对于组合来说是很繁琐的。除此之外,一个基本的属性(property)包——甚至是简单的Dictionary<string,object>
会做。唯一的区别是:
obj.id
成为
obj["id"]
不过,还有一个更基本的问题,就是试图在一个步骤中将列表(每个列表基本上都是匿名的)与属性 结合起来。你可以做到这一点for data-binding purpose via custom property models ,但这……很棘手。
关于C# 动态扩展一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4735334/