将字典值添加到C#中的动态对象中

本文关键字:动态 对象 字典 添加 | 更新日期: 2023-09-27 18:28:20

我有一个方法,它返回一个动态创建的对象,并希望添加字典的键作为该对象的动态属性和字典值​​作为值​​的属性。下面是方法但是没有成功,有人帮我理解并做这件事吗?

*不是字典对象是具有值的对象​​字典的(关键字和值)

public Object setObjectProperty(Dictionary<String, String> dictionary)
{
    dynamic newObj = new ExpandoObject();
    foreach (var word in dictionary)
    {
        newObj.word.Key = word.Value;
    }
    return (Object) newObj;
}

将字典值添加到C#中的动态对象中

ExpandoObject实现了IDictionary<string, object>,但它显式地实现了这些方法。只需将其强制转换为该类型,就可以访问Add方法:

public static Object setObjectProperty(Dictionary<String, String> dictionary)
{
    IDictionary<string, object> newObj = new ExpandoObject();
    foreach (var word in dictionary)
    {
        newObj.Add(word.Key, word.Value);
    }
    return newObj;
}