internal ExtendJsonToken(ExtendJsonTextReader reader, ISerializeSetting setting)
        {
            //if(reader.ReadState!=ReadState.Interactive)
            //    throw new ArgumentOutOfRangeException(nameof(reader));

            if (reader.Value == null)
            {
                Value = string.Empty;
            }
            else if (reader.Value is DateTime)
            {
                Value = XmlConvert.ToString((DateTime)reader.Value, Convert(setting.Mode));
            }
            else
            {
                Value = reader.Value.ToString();
            }
            Depth     = reader.Depth;
            Path      = reader.Path;
            TokenType = reader.TokenType;
        }
 /// <summary>
 ///     使用指定的 <see cref="TextReader" /> 初始化 <see cref="XmlTextReader" /> 的新实例。
 /// </summary>
 /// <param name="input">包含要读取的 XML 数据的 TextReader。</param>
 public JsonTextReader(TextReader input) : this()
 {
     _reader = new ExtendJsonTextReader(input, _setting);
     InitReader();
 }