общественный тип MyShape: IXmlSerializable
{
общественное _id int;
общественное _name шнура;
общественные _polygon = null полигона;
общественное MyShape ()
{
_polygon = новый полигон ();
_polygon. Ход = System.Windows.Media.Brushes.Black;
_polygon. Заполнение = System.Windows.Media.Brushes.LightSeaGreen;
_polygon.StrokeThickness = 2;
_polygon.HorizontalAlignment = HorizontalAlignment.Left;
}
общественное MyShape (удостоверение личности int, имя шнура)
{
_id = удостоверение личности;
_name = имя;
_polygon = новый полигон ();
_polygon. Ход = System.Windows.Media.Brushes.Black;
_polygon. Заполнение = System.Windows.Media.Brushes.LightSeaGreen;
_polygon.StrokeThickness = 2;
_polygon.HorizontalAlignment = HorizontalAlignment.Left;
_polygon.VerticalAlignment = VerticalAlignment.Center;
System.Windows.Point Point1 = новое System.Windows.Point (1, 50);
System.Windows.Point Point2 = новое System.Windows.Point (10, 80);
System.Windows.Point Point3 = новое System.Windows.Point (50, 50);
myPointCollection PointCollection = новое PointCollection ();
myPointCollection.Add (Point1);
myPointCollection.Add (Point2);
myPointCollection.Add (Point3);
_polygon. Пункты = myPointCollection;
}
Члены IXmlSerializable #region
общественное XmlSchema GetSchema ()
{
возвращение (null);
}
публика пустое ReadXml (читатель XmlReader)
{
читатель. Прочитано ();
XmlSerializer x = новое XmlSerializer (typeof (шнур));
_id = int. Parse (x.Deserialize (читатель) .ToString ());
_name = x.Deserialize (читатель) .ToString ();
_polygon. Пункты = новое PointCollection (x.Deserialize (читатель) .ToString (). Разделение («; ").Select (=> Point.Parse n (n)));
}
публика пустое WriteXml (сочинитель XmlWriter)
{
XmlSerializer x = новое XmlSerializer (typeof (шнур));
x.Serialize (сочинитель, _id.ToString ());
x.Serialize (сочинитель, _name);
x.Serialize (сочинитель, шнур. Соедините («; », _polygon. Points.Cast (). Выберите (=> n.ToString n ()).ToArray ()));
}
#endregion
}
|