4

我有一个List<>对象。他们的类没有“颜色”属性(String)——但我可以在序列化之前为每个列表元素推导出这个属性的值。

将这个属性包含在 JSON 对象中以将其添加到类中然后序列化整个事物的唯一方法是吗?

或者有没有一种方法/方法来添加需要出现在 JSON 对象中的属性,否则在我的类中将非常无用?

我知道可以使用各种字符串操作方法,但这样做感觉不对。

我正在使用DataContractJsonSerializer

4

2 回答 2

3

您可以创建一个数据协定代理,它透明地将您的类的实例替换为另一个类的实例。这个新类可以看起来像任何东西,但在您的情况下,它只是具有附加Colour属性。

这样做的好处是您可以保留列表项的原始类型;代理是在序列化过程中创建的,您现有的代码根本不需要接触它们。

于 2012-09-19T10:09:42.077 回答
1

我假设您可以创建一个从对象列表继承的新类,并在主体类上添加无用的字符串。

创建 JSON 时,只需使用派生类,它将包含添加的字符串值并从原始对象继承所有其余数据。

于 2012-09-19T10:03:17.300 回答