public override object ReadContentAs(Type type, IXmlNamespaceResolver namespaceResolver)
{
if (type == typeof(ulong))
{
if (_value == null && _node.IsAtomicValue)
{
ulong value = _node.Value.ToULong();
SkipValue(_node);
return value;
}
else
{
return XmlConverter.ToUInt64(ReadContentAsString());
}
}
else if (type == typeof(bool))
return ReadContentAsBoolean();
else if (type == typeof(int))
return ReadContentAsInt();
else if (type == typeof(long))
return ReadContentAsLong();
else if (type == typeof(float))
return ReadContentAsFloat();
else if (type == typeof(double))
return ReadContentAsDouble();
else if (type == typeof(decimal))
return ReadContentAsDecimal();
else if (type == typeof(DateTime))
return ReadContentAsDateTime();
else if (type == typeof(UniqueId))
return ReadContentAsUniqueId();
else if (type == typeof(Guid))
return ReadContentAsGuid();
else if (type == typeof(TimeSpan))
return ReadContentAsTimeSpan();
else if (type == typeof(object))
return ReadContentAsObject();
else
return base.ReadContentAs(type, namespaceResolver);
}