所以我有一个匿名类型,我已经使用了ToString,并将其放入文件中。它看起来像这样(并且非常像JSon ......):
{ Name = Name, Description = Description, Status = Pending, Key = Template, SubmittedBy = MyName, Identity = 2fb7a40b-e07a-4f1a-a48b-2c2720567f35 }
现在我想转向其他方式(编辑:从文件中取出字符串并将其放入我可以放入已知对象的格式中)并将其放入匿名类型(具有相同的属性,但我如果他们是可铸造的或类似的东西,我不在乎,我只是想快速做一些类似的事情。
AnonObject = GetObjectFromFile(blah);
RealObject.Name = AnonObject.Name;
我只有一个RealObject接口,所以我不能在类中添加序列化。如果你知道更好的方法,请告诉我。 感谢。
答案 0 :(得分:6)
匿名类型在 compile 时定义,并且与任何其他类型一样包含在程序集中。在执行时创建它们需要动态创建类型 - 它可能最终会很快变得混乱。
如果您使用的是.NET 4,则可以使用ExpandoObject
和dynamic
;否则我可能只是使用Dictionary<string, object>
并改变它:
RealObject.Name = AnonObject.Name;
到
RealObject["Name"] = AnonObject.Name;
(反之亦然。目前还不清楚你在做什么。)