gpt4 book ai didi

c# - 反序列化为匿名类型

转载 作者:行者123 更新时间:2023-11-30 12:12:48 27 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
How to XML deserialize an object of Unknown Type?

我刚刚开始玩序列化和反序列化。

我有一个 Person 类型的模型,只有 2 个属性(姓名和年龄),我可以序列化为 XML。说到反序列化,据我所知,我必须告诉编译器类型是Person。对于通用 T 的世界,这似乎适得其反。我原以为我可以将该对象建立为“InMemoryOnly”对象(如果您能想象的话),该对象是在运行时创建的,因为它的参数/字段/属性等都是基于 XML 的。也许像匿名类型;我很欣赏 C# 编译器在设计时必须忽略这一点,并且我们会失去智能感知,但由于所有对象都以任何方式传递到内存,我不明白为什么它会在运行时失败。或者也许这可以通过反射实现?

无论如何,这就是我想要做的,从 XML 反序列化为通用对象。这可能与 C# 吗?

编辑 刚发现一个骗局,所以现在的问题是为什么 C# (.NET) 不能这样做?我知道答案可能是“因为它没有”,但我的问题是它是否有可能或比程序员的值(value)更麻烦?

据我所知,这样做的原因是,要完成此操作意味着序列化和反序列化必须知道类型(在本例中为 Person)。因此,如果序列化和反序列化发生在 WCF 上(序列化和序列化发生在不同的程序集中),则必须复制 Person 对象(这违反了 DRY 原则)

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com