その質問をするのは私が初めてではないと確信していますが、SOとGoogleで答えが見つかりませんでした...
次のカスタム コレクションがあります。
[Serializable]
public class BaseCollection<T>: ICollection<T>
{
}
[CollectionDataContract]
[Serializable]
ProductsCollection : BaseCollection<Product>
{
[DataMember]
public int CategoryId {get;set;}
}
ここで、WCF を使用してインスタンスを転送しますProductsCollection
...問題は、WCF がカスタム プロパティの CategoryId を正しく転送しないことです。常に 0 (デフォルトは int) です。
http://msdn.microsoft.com/en-us/library/aa347850.aspxで、彼らはそれを解決する必要があると言いCollectionDataContract
、コレクションは ArrayOfProduct ではなく、特定のコレクションにシリアル化されます。
私は何かが足りないのですか?
DataContract シリアライザーで不可能な場合、必要に応じてコレクションをシリアライズ/デシリアライズする特定のクラス用の MyCustomContract シリアライザーを作成することは可能ですか?
ありがとう