我正在尝试将字典转换为匿名类型,每个键都有一个属性。
我尝试用谷歌搜索,但我所能找到的只是如何将匿名对象转换为字典。
我的字典看起来像这样:
var dict = new Dictionary<string, string>
{
{"Id", "1"},
{"Title", "My title"},
{"Description", "Blah blah blah"},
};
我想返回一个如下所示的匿名对象。
var o = new
{
Id = "1",
Title = "My title",
Description = "Blah blah blah"
};
所以我希望它循环遍历字典中的每个 keyValuePair 并在对象中为每个键创建一个属性。
我不知道从哪里开始。
请帮忙。
基本上你不能。匿名类型是由编译器创建的,因此它们存在于程序集中,并且包含所有属性名称。 (该物业types在这种情况下不是问题 - 作为实现细节,编译器创建一个泛型类型,然后使用适当的类型参数创建该类型的实例。)
您要求的类型的属性由以下位置确定执行time - 这与匿名类型的工作方式不符。您必须在执行时使用它基本上编译代码 - 这将是一个痛苦,因为它会在不同的程序集中,并且匿名类型是内部的......
也许你应该使用ExpandoObject https://msdn.microsoft.com/en-us/library/system.dynamic.expandoobject反而?然后任何使用dynamic
将能够正常访问属性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)