Exemple #1
0
        protected virtual T GetDataByPdbType(string jsonData, PdbJsonDataFormat jsonDataFormat)
        {
            var dblSlash    = Encoding.UTF8.GetString(new byte[] { 0x5C, 0x5C });
            var singleSlash = Encoding.UTF8.GetString(new byte[] { 0x5C });

            if (jsonDataFormat == PdbJsonDataFormat.RawString)
            {
                jsonData = jsonData.Replace(singleSlash, dblSlash);
            }

            var data           = Encoding.UTF8.GetBytes(jsonData);
            var jsonSerializer = new DataContractJsonSerializer(typeof(T));

            using (var ms = new MemoryStream(data))
            {
                return((T)jsonSerializer.ReadObject(ms));
            }
        }
Exemple #2
0
 public override IPdbJsonDeserializedTypes GetData(string jsonData, PdbJsonDataFormat jsonDataFormat)
 {
     //the base type's GetDataByPdbType cannot return null so we check it in every extended type
     return(string.IsNullOrWhiteSpace(jsonData) ? null : GetDataByPdbType(jsonData, jsonDataFormat));
 }
Exemple #3
0
 public abstract IPdbJsonDeserializedTypes GetData(string jsonData, PdbJsonDataFormat jsonDataFormat);
Exemple #4
0
        /// <summary>
        /// Factory method to skip instantiating <see cref="CompilandJsonData"/>
        /// and just skip straight to the data.
        /// </summary>
        /// <param name="jsonData"></param>
        /// <param name="jsonDataFormat"></param>
        /// <returns></returns>
        public static LinesSwitch.PdbCompiland Parse(string jsonData, PdbJsonDataFormat jsonDataFormat)
        {
            var cjd = new CompilandJsonData();

            return((LinesSwitch.PdbCompiland)cjd.GetData(jsonData, jsonDataFormat));
        }