gpt4 book ai didi

c# - 通用对象结构(属性包)的实现

转载 作者:行者123 更新时间:2023-11-30 15:11:40 25 4
gpt4 key购买 nike

我们需要实现一些通用的对象结构,很像动态语言中的对象,这将使我们有可能即时创建整个对象图。此类必须是可序列化的,并且以某种方式对用户友好。

到目前为止,我们已经用派生自 Dictionary<string, object> 的类做了一些实验。使用点符号路径在对象树中存储属性和集合。我们还找到了一个 article它实现了类似的东西,但它似乎也不完全适合我们的情况。

您是否知道一些处理类似问题的良好实现/库,或者您有任何(重要的)想法可以帮助我们自己实现吗?

此外,我可能不得不说我们正在使用 .NET 3.5,因此我们无法利用 .NET 4.0 中的新功能,如动态类型等(据我所知,也无法使用.NET 3.5 解决方案中的任何子集)。

最佳答案

我过去做过属性包实现,包括像 ICustomTypeDescriptor/ITypedList 这样的所有垃圾来让它绑定(bind) - 它可以是 很多工作。特别是如果您包括序列化(不包括 BinaryFormatter,它有其自身的问题)。

这种类型的动态对象真的不太适合通常静态类型的语言,如 C#,但它可以工作。虽然我不是他们最忠实的粉丝(一点也不),但您可以在这里使用 DataTable/DataRow 吗?它可以按照您的要求进行操作,无需大量工时开发/调试。

关于c# - 通用对象结构(属性包)的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2148697/

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