1
我敢肯定,我不是第一個誰問這個問題,但我沒有發現我的答案在SO和谷歌...WCF和自定義集合系列化
我有以下自定義收藏:
[Serializable]
public class BaseCollection<T>: ICollection<T>
{
}
[CollectionDataContract]
[Serializable]
ProductsCollection : BaseCollection<Product>
{
[DataMember]
public int CategoryId {get;set;}
}
現在,我使用WCF轉讓ProductsCollection
實例......問題是,WCF不正確地傳遞我的自定義屬性類別編號。它始終爲0(int的缺省值)。
在http://msdn.microsoft.com/en-us/library/aa347850.aspx他們說CollectionDataContract
應該解決它,集合將被序列化到我的特定集合,而不是ArrayOfProduct。
難道我失去了一些東西?
如果不可能DataContract序列化,是有可能寫出某種MyCustomContract串行對我的具體類,將serialiaze /根據需要反序列化我的收藏?
感謝
嗯...這意味着我必須建立我的「收藏」,並非來自繼承ICollectionOfT有沒有別的解決辦法?是否有可能爲我的特定類編寫某種MyCustomContract序列化器,以便根據需要序列化/反序列化我的集合? –
你也可以使用'XmlSerializer',但看起來它也不好。 – metalheart
是的,XmlSerializer不是一個選項。 –