转换字典 要匿名对象?

首先,为了使事情更清楚,我将从顶部解释我的情况:

我有一个具有以下签名的方法:

public virtual void SendEmail(String from, List<String> recepients, Object model)

我想做的是生成一个匿名对象,该对象具有模型对象的属性以及前两个参数。将模型对象展平为PropertyInfo

[]非常简单。因此,我想到了创建一个字典,该字典将保存PropertyInfo和前两个参数,然后将其转换为匿名对象,其中键是属性的名称,值是属性的实际值。

那可能吗?还有其他建议吗?

回答:

如果您确实要将字典转换为以字典中的项目作为属性的对象,则可以使用ExpandoObject

var dict = new Dictionary<string, object> { { "Property", "foo" } };

var eo = new ExpandoObject();

var eoColl = (ICollection<KeyValuePair<string, object>>)eo;

foreach (var kvp in dict)

{

eoColl.Add(kvp);

}

dynamic eoDynamic = eo;

string value = eoDynamic.Property;

但是我不确定这样做会如何帮助您。

以上是 转换字典 要匿名对象? 的全部内容, 来源链接: utcz.com/qa/408932.html

回到顶部