我的Silverlight項目中存在反序列化問題。我有這個方法和變量的類Obj。Silverlight項目中的反序列化後,某些字段爲空
public class Obj
{
private string _name;
private Uri _iconUri;
private string _stringUri;
private List<ObjItem> _items = new List<ObjItem>();
public List<ObjItem> Items
{
get { return _items; }
}
public string Name
{
get { return _name; }
set { _name = value; }
}
public Uri IconUri
{
get
{
return _iconUri;
}
}
public string StringUri { get { return _stringUri; } }
public int Count
{
get { return _items.Count; }
}
public Obj(string name,string uriString = null)
{
_name = name;
if (uriString == null)
{
_iconUri = null;
}
else
{
_iconUri = new Uri(uriString, UriKind.Relative);
}
_stringUri = uriString;
}
// for deserialization
public Obj()
{
}
}
串行化之前的所有字段不爲空! 反序列化後,除了_iconUri和_stringUri字段外,所有字段都不是空的。 爲什麼發生? 我會等待你的回覆。 謝謝!
因爲Uri類不是可序列化的,我猜你正在使用哪個序列化?將類型更改爲字符串,並保留轉換並返回的另一個屬性Uri –