我可以動態關閉和啓用數據合約屬性嗎?實質上,我想要兩個數據合同,一個在第三方和我的應用程序之間,另一個在我的應用程序和我的客戶端之間 - 而不必管理兩個DTO類。例如,考慮MyDTO:在運行時動態切換適用的DataContract?
[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());
有問題的實際對象擁有百餘性質,所以我希望以避免創建第二類只允許出站序列化。
這是一個甜蜜的例子。我喜歡。然而,鑑於我有超過100個屬性,並不是所有這些屬性都需要映射到新的鍵上(例如,像「貨幣」這樣的鍵都可以,但「開放/關閉」必須映射) - 我仍然喜歡維護地圖並更換密鑰。也就是說,如果你有與JsonObject'強大的功能相關的鏈接,請將它們傳遞給它們。昨天是我第一次遇到'JsonObject',我想了解更多關於如何最佳利用它的信息。 – 2013-05-10 16:25:51