/// <summary> /// The write xml. /// </summary> /// <param name="writer"> The writer. </param> public void WriteXml(XmlWriter writer) { // Special case for reference decider. // TODO(co): Would be nice to capsule this inside the ReferenceTask class, but the xml node is written // before the ReferenceTask object gets the control. ReferenceTask referenceTask = this.task as ReferenceTask; if (referenceTask != null) { string typeString = referenceTask.TaskDescription != null ? referenceTask.TaskDescription.TypeName : typeof(ReferenceTask).AssemblyQualifiedName; writer.WriteAttributeString("type", typeString); string elementName = referenceTask.TaskDescription != null ? referenceTask.TaskDescription.ClassName : typeof(ReferenceTask).Name; XmlSerializer serializer = new XmlSerializer(typeof(ReferenceTask), new XmlRootAttribute(elementName)); serializer.Serialize(writer, referenceTask); } else { XmlAnything <ITask> xmlWrapper = new XmlAnything <ITask>(this.task); xmlWrapper.WriteXml(writer); } }
/// <summary> /// Initializes a new instance of the <see cref="PrototypeCivilizationFactory" /> class. /// </summary> public PrototypeCivilizationFactory() { this.protoCity = new BasicCity(new Point(0, 0), null, null); XmlDepartDirectorPrototype = new XmlAnything <IDepartDirector>(new BasicDepartDirector()); XmlStudentPrototype = new XmlAnything <IStudent>(new BasicStudent(0, 0, 0, 0)); XmlTeacherPrototype = new XmlAnything <ITeacher>(new BasicTeacher(0, 0, 0, 0)); }
/// <summary> /// Initializes a new instance of the <see cref="PrototypeCivilizationFactory" /> class. /// </summary> /// <param name="protoCity">The proto city.</param> /// <param name="protoDepartDirector">The proto depart director.</param> /// <param name="protoStudent">The proto student.</param> /// <param name="protoTeacher">The proto teacher.</param> public PrototypeCivilizationFactory( ICity protoCity, IDepartDirector protoDepartDirector, IStudent protoStudent, ITeacher protoTeacher) { this.protoCity = protoCity; XmlDepartDirectorPrototype = new XmlAnything <IDepartDirector>(protoDepartDirector); XmlStudentPrototype = new XmlAnything <IStudent>(protoStudent); XmlTeacherPrototype = new XmlAnything <ITeacher>(protoTeacher); }
public void WriteXml(System.Xml.XmlWriter writer) { writer.WriteAttributeString("Width", size.X.ToString()); writer.WriteAttributeString("Height", size.Y.ToString()); for (int i = 0; i < size.X; ++i) { for (int j = 0; j < size.Y; ++j) { var container = new XmlAnything <Square.Square>(squareMatrix[i, j]); XmlSerializer serializer = new XmlSerializer(container.GetType()); serializer.Serialize(writer, container); } } }
/// <summary> /// The read xml. /// </summary> /// <param name="reader"> The reader. </param> public void ReadXml(XmlReader reader) { try { XmlAnything <ITask> xmlWrapper = new XmlAnything <ITask>(); xmlWrapper.ReadXml(reader); this.task = xmlWrapper.Value; } catch (InvalidCastException) { if (OnXmlReadUnknownTask != null) { OnXmlReadUnknownTask(reader, out this.task); } else { throw; } } }
/// <summary> /// The write xml. /// </summary> /// <param name="writer"> The writer. </param> public void WriteXml(XmlWriter writer) { // Special case for reference decider. // TODO(co): Would be nice to capsule this inside the ReferenceTask class, but the xml node is written // before the ReferenceTask object gets the control. ReferenceTask referenceTask = this.task as ReferenceTask; if (referenceTask != null) { string typeString = referenceTask.TaskDescription != null ? referenceTask.TaskDescription.TypeName : typeof(ReferenceTask).AssemblyQualifiedName; writer.WriteAttributeString("type", typeString); string elementName = referenceTask.TaskDescription != null ? referenceTask.TaskDescription.ClassName : typeof(ReferenceTask).Name; XmlSerializer serializer = new XmlSerializer(typeof(ReferenceTask), new XmlRootAttribute(elementName)); serializer.Serialize(writer, referenceTask); } else { XmlAnything<ITask> xmlWrapper = new XmlAnything<ITask>(this.task); xmlWrapper.WriteXml(writer); } }
/// <summary> /// The read xml. /// </summary> /// <param name="reader"> The reader. </param> public void ReadXml(XmlReader reader) { try { XmlAnything<ITask> xmlWrapper = new XmlAnything<ITask>(); xmlWrapper.ReadXml(reader); this.task = xmlWrapper.Value; } catch (InvalidCastException) { if (OnXmlReadUnknownTask != null) { OnXmlReadUnknownTask(reader, out this.task); } else { throw; } } }
public void WriteXml(System.Xml.XmlWriter writer) { writer.WriteAttributeString("Width", size.X.ToString()); writer.WriteAttributeString("Height", size.Y.ToString()); for (int i = 0; i < size.X; ++i) { for (int j = 0; j < size.Y; ++j) { var container = new XmlAnything<Square.Square>(squareMatrix[i, j]); XmlSerializer serializer = new XmlSerializer(container.GetType()); serializer.Serialize(writer, container); } } }
/// <summary> /// Initializes a new instance of the <see cref="SquareDecorator" /> class. /// </summary> /// <param name="square">The square.</param> public SquareDecorator(Square square) : base(0, 0) { EncapsulatedSquare = new XmlAnything <Square>(); this.EncapsulatedSquare.Value = square; }
/// <summary> /// Initializes a new instance of the <see cref="SquareDecorator" /> class. /// </summary> /// <param name="square">The square.</param> public SquareDecorator(Square square) : base(0, 0) { EncapsulatedSquare = new XmlAnything<Square>(); this.EncapsulatedSquare.Value = square; }