是否可以从客户端应用程序中隐藏类的数据成员但仍使用 XmlSerializer 进行序列化?
上下文是我得到一个地址,但需要将其中的许多片段连接成一个字符串,然后再将对象序列化为 XML 并将其传递给其他东西。
地址类又是一个更大类的一部分,所以如果它没有嵌套,那么简单地继承和添加这个位会更加复杂,而且我的需求不足以保证编写自定义序列化程序。
样本:
[DataContract]
public class Address
{
[DataMember()]
public string City
[DataMember()]
public string State
[DataMember()]
public string StreetDirection
[DataMember()]
public string StreetName
[DataMember()]
public string StreetNumber
[DataMember()]
public string StreetSuffix
[DataMember()]
public string Unit
[DataMember()]
public string Zip
[IgnoreDataMember()]
[Serializable]
public string AddressLine1
}
基本上,我想要一个占位符(AddressLine1),我可以在传递之前将 StreetXXX 属性的串联放置(如果接收者看到各个部分,它已经存在)。
编辑 - 添加示例 输入将类似于:
<Address>
<StreetNumber>123</StreetNumber>
<StreetDirection>S.</StreetDirection>
<StreetName>Main</StreetName>
<StreetSuffix>St.</StreetSuffix>
<Unit>207</Unit>
<City>Denver</City>
<State>CO</State>
<Zip>80123</Zip>
</Address>
但我想结束序列化为:
<Address>
<StreetNumber>123</StreetNumber>
<StreetDirection>S.</StreetDirection>
<StreetName>Main</StreetName>
<StreetSuffix>St.</StreetSuffix>
<Unit>207</Unit>
<City>Denver</City>
<State>CO</State>
<Zip>80123</Zip>
<AddressLine1>123 S. Main St.</AddressLine1>
</Address>
谢谢,
约翰