コード例 #1
0
ファイル: JsonConvert.cs プロジェクト: zlatanov/json
        public static Object Deserialize(String json, Type objectType, JsonSettings settings = null)
        {
            using (var buffer = new JsonBufferWriter(BufferSize))
            {
                buffer.Write(json);
                var reader = new JsonReader(buffer.Sequence, settings ?? JsonSettings.Default);

                return(reader.ReadValue(objectType));
            }
        }
コード例 #2
0
ファイル: JsonConvert.cs プロジェクト: zlatanov/json
        public static void Populate(String json, Object target, JsonSettings settings = null)
        {
            using (var buffer = new JsonBufferWriter(BufferSize))
            {
                buffer.Write(json);
                var reader = new JsonReader(buffer.Sequence, settings ?? JsonSettings.Default);

                reader.Populate(target);
            }
        }
コード例 #3
0
        public async Task UseAfterDisposeShouldThrow()
        {
            var buffer = new JsonBufferWriter();

            buffer.Write("123456789");
            Assert.Equal("123456789", buffer.ToString());

            buffer.Dispose();

            Assert.Throws <ObjectDisposedException>(() => buffer.GetSpan());
            Assert.Throws <ObjectDisposedException>(() => buffer.GetMemory());
            Assert.Throws <ObjectDisposedException>(() => buffer.ToArray());
            Assert.Throws <ObjectDisposedException>(() => buffer.CopyTo(Stream.Null));
            Assert.Throws <ObjectDisposedException>(() => buffer.Write("123"));
            await Assert.ThrowsAsync <ObjectDisposedException>(() => buffer.CopyToAsync(Stream.Null));

            // These should never throw
            Assert.Equal(String.Empty, buffer.ToString());
            Assert.Equal(0, buffer.Sequence.Length);
        }