Esempio n. 1
0
    private static bool Deserialize <T>(TextReader textReader, out T content,
                                        [CallerMemberName] string memberName    = "",
                                        [CallerFilePath] string sourceFilePath  = "",
                                        [CallerLineNumber] int sourceLineNumber = 0)
    {
        try
        {
            using (JsonReader reader = new MSJsonReader(textReader))
            {
                /**
                 * reader.SupportMultipleContent = true;
                 * while (reader.Read())
                 * {
                 *  if (reader.TokenType == JsonToken.StartObject)
                 *  {
                 *      var c = serializer.Deserialize(reader);
                 *  }
                 * }
                 * /**/

                content = serializer.Deserialize <T>(reader);
            }
            return(true);
        }
        catch (Exception e)
        {
            content = default;

            string d = $"value: {textReader}\n" +
                       $"member name: {memberName}\n" +
                       $"source file path: {sourceFilePath}\n" +
                       $"source line number: {sourceLineNumber}";
            Debug.LogError(d);
            Debug.LogError(traceWriter);
            Debug.LogError("Exception happened while deserializing input object, Error: " + e.Message);
            return(false);
        }
    }
Esempio n. 2
0
 private static bool Populate(TextReader textReader, object content,
                              [CallerMemberName] string memberName    = "",
                              [CallerFilePath] string sourceFilePath  = "",
                              [CallerLineNumber] int sourceLineNumber = 0)
 {
     try
     {
         using (JsonReader reader = new MSJsonReader(textReader))
             serializer.Populate(reader, content);
         return(true);
     }
     catch (Exception e)
     {
         string d = $"value: {textReader}\n" +
                    $"member name: {memberName}\n" +
                    $"source file path: {sourceFilePath}\n" +
                    $"source line number: {sourceLineNumber}";
         Debug.LogError(d);
         Debug.LogError(traceWriter);
         Debug.LogError("Exception happened while deserializing input object, Error: " + e.Message);
         return(false);
     }
 }