DÜZENLEME DAHİLDİR: Sorunumun çözümü IXMLSerializer'ı uygulamaktır. Hızlı yanıtlar için herkese teşekkürler.ISerialization Constructor,
Herkese merhaba, Bu sorunu yaşıyorum ve buna uygun bir çözüm bulmuyorum.
Aşağıdaki sınıf var
benserializer.Deserialize(new StringReader("<?xml version="1.0" encoding="utf-16"?><Test><Id>0</Id><ChildId>10</ChildId></Test>");
serisini aşağıdaki kodu kullanarak
<?xml version="1.0" encoding="utf-16"?><Test><Id>0</Id><ChildId>10</ChildId></Test>
deserialzed edilecek aşağıdaki XML gönderirseniz ben sözde
public class Child
{
private int _id;
public int Id
{
get { return _id; }
set { _id = value; }
}
}
[Serializable]
public class Test: ISerializable
{
private int _id;
public int Id
{
get { return _id; }
set { _id = value; }
}
private Child _child = new Child();
public Child Child
{
get { return _child; }
set { _child = value; }
}
public Test()
{
}
protected Test(SerializationInfo info, StreamingContext context)
{
if (info.MemberCount > 1)
Child.Id = info.GetInt32("ChildId");
}
#region ISerializable Members
public void GetObjectData(SerializationInfo info, StreamingContext context)
{
info.AddValue("ChildId", Child.Id);
}
#endregion
}
derim Benim serileştirme kurucum, ama şey hiç çağrılmadı.
ben yerine yukarıda yayınlanan XML kullanıyorum bu
<?xml version="1.0" encoding="utf-16"?><Test><Id>0</Id><Child><Id>10</Id></Child></Test>
ben başka bir uygulamadan yayınlanan xml alıyorum Çünkü
, bu yüzden elle alt nesneler oluşturulur ve içinden elle değerini tayin gerekir yapıcı.
Bana sağlayabileceğiniz tüm yardım ve rehberliği gerçekten takdir edeceğim.
Bir XmlSerializer kullanıyorum, ancak seri hale getirme sırasında Serileştirme kurucusunun çağrılmasına rağmen. – Paleta
Hangi seri hale getirici kullanmalıyım? – Paleta