|
|
1
3
停止序列化对象。以相对方式存储数据。串行化的目的是为了缩短持续时间,比如说,像在电线上传输;而不是永久存储。 而不是将字段编码到类中;听起来您可能需要更多字典类型的结构,这些结构可以根据每年存储的数据库配置值动态地提取字段。然后基于这些值构建动态UI。每年必须创建一个新的类并测试代码,维护起来似乎是不可能的昂贵。 |
|
|
2
2
我能想到的第一件事就是。实现一种“能力”文档。详细说明联系人版本及其包含的属性的列表(或XML文档)。 在契约上运行的每个函数都应该检查是否支持特定属性(“功能”)。 例如:
契约类将存储功能文档和一些通用getter setter。
在设置或获取值之前,set和get将检查功能中是否支持该字段。 (这必须是一个模式或什么东西,有人吗?) |
|
|
3
2
很可能你没有 不得不 将属性实现为C属性。实际上,您可以将属性存储在某种类型的字典中,并使用get和set方法来读取/枚举它们。在这种情况下,你可以每年使用相同的课程。 如果属性真的 有 为了成为属性,我建议每年用类构建一个新的程序集,并动态加载程序集。然后可以使用反射来查看每个契约对象支持哪些属性。为了使您的生活更轻松,我建议您为不更改的属性提供一个接口,并使在程序集中标识契约类变得更简单。 |