internal override void WriteXml(XmlWriter writer)
{
if (base.IsSlot)
{
writer.WriteStartElement("Property", NodeQuery.XmlNamespace);
writer.WriteAttributeString("name", base.PropertySlot.Name);
writer.WriteEndElement();
}
else if (!IsValue)
{
writer.WriteStartElement("Property", NodeQuery.XmlNamespace);
writer.WriteAttributeString("name", base.NodeAttribute.ToString());
writer.WriteEndElement();
}
else
{
if (_value == null)
writer.WriteElementString("NullValue", NodeQuery.XmlNamespace, null);
else if (_value is string)
writer.WriteString((string)_value);
else if (_value is int)
writer.WriteString(XmlConvert.ToString((int)_value));
else if (_value is decimal)
writer.WriteString(XmlConvert.ToString((decimal)_value));
if (_value is DateTime)
writer.WriteString(XmlConvert.ToString((DateTime)_value, XmlDateTimeSerializationMode.Unspecified));
}
}
}