Наша сборка Qt VS Tools
giy
2022-09-02 ca47896204482bf4a6979e3838bf7f09f61cebeb
QtVsTools.Package/Common/Json/Serializer.cs
@@ -36,6 +36,7 @@
using System.Runtime.Serialization.Json;
using System.Text;
using System.Xml;
using QtVsTools.Core;
/// <summary>
/// The classes in this namespace provide support to the serialization and deserialization of
@@ -127,11 +128,10 @@
                    serializer.WriteObject(writer, obj);
                    writer.Close();
                    return new JsonData() { Stream = stream };
                } catch (Exception e) {
                } catch (Exception exception) {
                    exception.Log();
                    if (stream != null && stream.CanRead && stream.Length > 0)
                        stream.Dispose();
                    System.Diagnostics.Debug.WriteLine(
                        e.Message + "\r\n\r\nStacktrace:\r\n" + e.StackTrace);
                    return null;
                }
            }
@@ -151,16 +151,14 @@
                    using (reader = XmlReader.Create(data.XmlStream)) {
                        var obj = serializer.ReadObject(reader, false);
                        var container = obj as IDeferredObjectContainer;
                        if (container != null)
                        if (obj is IDeferredObjectContainer container)
                            deferredObjects.ForEach(x => container.Add(x));
                        return obj;
                    }
                } catch (Exception e) {
                    System.Diagnostics.Debug.WriteLine(
                        e.Message + "\r\n\r\nStacktrace:\r\n" + e.StackTrace);
                } catch (Exception exception) {
                    exception.Log();
                    return null;
                } finally {
@@ -206,9 +204,8 @@
                    data.XmlStream = new MemoryStream(xmlData);
                }
                return true;
            } catch (Exception e) {
                System.Diagnostics.Debug.WriteLine(
                    e.Message + "\r\n\r\nStacktrace:\r\n" + e.StackTrace);
            } catch (Exception exception) {
                exception.Log();
                return false;
            }
        }
@@ -245,9 +242,9 @@
        #region //////////////////// Data Contract Surrogate //////////////////////////////////////
        static Exclusive<Serializer> sharedInstance = new Exclusive<Serializer>();
        static readonly Exclusive<Serializer> sharedInstance = new Exclusive<Serializer>();
        private XmlReader reader = null;
        private List<IDeferredObject> deferredObjects = new List<IDeferredObject>();
        private readonly List<IDeferredObject> deferredObjects = new List<IDeferredObject>();
        public static IJsonData GetCurrentJsonData()
        {
@@ -260,9 +257,8 @@
                root.Append("</root>");
                var xmlData = Encoding.UTF8.GetBytes(root.ToString());
                return new JsonData { XmlStream = new MemoryStream(xmlData) };
            } catch (Exception e) {
                System.Diagnostics.Debug.WriteLine(
                    e.Message + "\r\n\r\nStacktrace:\r\n" + e.StackTrace);
            } catch (Exception exception) {
                exception.Log();
                return null;
            }
        }