private static FloatNode ParseFloatNode(IJsonReader jsonTextReader, JsonTokenType jsonTokenType)
                {
                    ReadOnlyMemory <byte> bytes = jsonTextReader.GetBufferedRawJsonToken();

                    FloatNode floatNode;

                    switch (jsonTokenType)
                    {
                    case JsonTokenType.Float32:
                        floatNode = Float32Node.Create(bytes);
                        break;

                    case JsonTokenType.Float64:
                        floatNode = Float64Node.Create(bytes);
                        break;

                    default:
                        throw new ArgumentException($"Unknown {nameof(JsonTokenType)}: {jsonTokenType}");
                    }

                    // consume the float from the reader
                    jsonTextReader.Read();

                    return(floatNode);
                }
コード例 #2
0
                private static FloatNode ParseFloatNode(IJsonReader jsonTextReader, JsonTokenType jsonTokenType)
                {
                    if (!jsonTextReader.TryGetBufferedRawJsonToken(out ReadOnlyMemory <byte> bufferedRawJsonToken))
                    {
                        throw new InvalidOperationException("Failed to get the buffered raw json token.");
                    }

                    FloatNode floatNode;

                    switch (jsonTokenType)
                    {
                    case JsonTokenType.Float32:
                        floatNode = Float32Node.Create(bufferedRawJsonToken);
                        break;

                    case JsonTokenType.Float64:
                        floatNode = Float64Node.Create(bufferedRawJsonToken);
                        break;

                    default:
                        throw new ArgumentException($"Unknown {nameof(JsonTokenType)}: {jsonTokenType}");
                    }

                    // consume the float from the reader
                    jsonTextReader.Read();

                    return(floatNode);
                }
コード例 #3
0
                private static FloatNode ParseFloatNode(
                    IJsonTextReaderPrivateImplementation jsonTextReader,
                    JsonTokenType jsonTokenType)
                {
                    ReadOnlyMemory <byte> bufferedRawJsonToken = jsonTextReader.GetBufferedJsonToken().Memory;
                    FloatNode             floatNode            = jsonTokenType switch
                    {
                        JsonTokenType.Float32 => Float32Node.Create(bufferedRawJsonToken),
                        JsonTokenType.Float64 => Float64Node.Create(bufferedRawJsonToken),
                        _ => throw new ArgumentException($"Unknown {nameof(JsonTokenType)}: {jsonTokenType}"),
                    };

                    // consume the float from the reader
                    jsonTextReader.Read();

                    return(floatNode);
                }