0
我使用DataContractJsonSerializer反序列化Silverlight 4中的Json數據。 Json數據鍵名稱與我的類屬性名稱不匹配;所以我想我必須使用 DataMemberAttribute。所以,我做了以下內容:因爲我沒有申請DataContractAttribute對人的基類型號Silverlight 4 DataContractJsonSerializer,派生類的私有字段
[DataContract]
public class Person : Model
{
[DataMember(Name = "id")]
private int _id;
public int Id
{
get { return _id; }
set { _id = value; }
}
[DataMember(Name = "name")]
private string _name;
public string Name
{
get { return _name; }
set { _name = value; }
}
}
現在反序列化失敗。這是一個嚴格的要求嗎?此外,在將DataContractAttribute應用於Model之後,反序列化再次失敗,因爲我將DataMember屬性應用於私有字段,而不是公共屬性。爲什麼我不能將它們應用於私人成員(文檔似乎另有說明)。
注意:服務器端代碼不是ASP.NET;所以WCF不使用。
我是否也將InternalsVisibleTo屬性應用於我的程序集?絕對; – synergetic
絕對;忘了那個小寶石。 –
如何(不)將DataContract屬性應用於基類?這是全部還是全無? – synergetic