System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson.XmlObjectSerializerReadContextComplexJson.ReadNumericalPrimitiveExtensionDataValue C# (CSharp) Method

ReadNumericalPrimitiveExtensionDataValue() private method

private ReadNumericalPrimitiveExtensionDataValue ( System.Runtime.Serialization.XmlReaderDelegator xmlReader ) : IDataNode
xmlReader System.Runtime.Serialization.XmlReaderDelegator
return IDataNode
        private IDataNode ReadNumericalPrimitiveExtensionDataValue(XmlReaderDelegator xmlReader)
        {
            TypeCode type;
            object numericalValue = JsonObjectDataContract.ParseJsonNumber(xmlReader.ReadContentAsString(), out type);
            switch (type)
            {
                case TypeCode.Byte:
                    return new DataNode<byte>((byte)numericalValue);
                case TypeCode.SByte:
                    return new DataNode<sbyte>((sbyte)numericalValue);
                case TypeCode.Int16:
                    return new DataNode<short>((short)numericalValue);
                case TypeCode.Int32:
                    return new DataNode<int>((int)numericalValue);
                case TypeCode.Int64:
                    return new DataNode<long>((long)numericalValue);
                case TypeCode.UInt16:
                    return new DataNode<ushort>((ushort)numericalValue);
                case TypeCode.UInt32:
                    return new DataNode<uint>((uint)numericalValue);
                case TypeCode.UInt64:
                    return new DataNode<ulong>((ulong)numericalValue);
                case TypeCode.Single:
                    return new DataNode<float>((float)numericalValue);
                case TypeCode.Double:
                    return new DataNode<double>((double)numericalValue);
                case TypeCode.Decimal:
                    return new DataNode<decimal>((decimal)numericalValue);
                default:
                    throw new InvalidOperationException(SR.ParseJsonNumberReturnInvalidNumber);
            }
        }