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()
{
}
}
모든 필드는 비어 있지! deserialization 후 _iconUri 및 _stringUri 필드를 제외한 모든 필드가 empry가 아닙니다. 왜 그런 일이 일어 났습니까? 답장을 기다리고 있습니다. 감사합니다.
Uri 클래스가 직렬화되지 않았기 때문에 어떤 직렬화를 사용하고 있습니까? 유형을 문자열로 변경하고 Uri를 변환하고 반환하는 다른 속성을 유지하십시오. –