我可以动态关闭和打开数据合同属性吗?本质上,我想要两个数据合约,一个在第 3 方和我的应用程序之间,一个在我的应用程序和我的客户之间——无需管理两个 DTO 类。例如,考虑 MyDTO:
[DataContract]
public class MyDTO
{
[DataMember(Name = "Lame/3rdParty/Inbound/Key")]
public string MyCoolOutboundKey { get; set; }
}
我想用 ServiceStack.Text 反序列化 DTO:
MyDTO dto = "{\"Lame/3rdParty/Inbound/Key\":\"CoolValue\"}".FromJson<MyDTO>();
但是,我想对其进行序列化,以便此断言为真:
Assert.AreEqual("{\"MyCoolOutboundKey\":\"CoolValue\"}",dto.ToJson());
有问题的实际对象有超过一百个属性,所以我希望避免为了允许出站序列化而创建第二个类。