diff datagear/dg/MessagePackDataGear.cs @ 34:1236da135f79

update
author riono <e165729@ie.u-ryukyu.ac.jp>
date Tue, 27 Apr 2021 22:57:14 +0900
parents 46cfeb0609c5
children 090be804eaa9
line wrap: on
line diff
--- a/datagear/dg/MessagePackDataGear.cs	Tue Apr 20 18:42:17 2021 +0900
+++ b/datagear/dg/MessagePackDataGear.cs	Tue Apr 27 22:57:14 2021 +0900
@@ -22,6 +22,8 @@
             return messagePack;
         try {
             messagePack = MessagePackSerializer.Serialize(data);
+            // Debug
+            //Console.WriteLine("data:" + data);
             SetDataSize(messagePack.Length);
         } catch (Exception e) {
             Console.WriteLine(e.StackTrace);
@@ -30,14 +32,16 @@
         return messagePack;
     }
 
-    public T GetData() {
+    public override T GetData() {
         lock (syncObject) {
             if (data == null)
                 try {
-                    SetData(MessagePackSerializer.Deserialize<T>(messagePack));
+                    object dataObj = MessagePackSerializer.Deserialize<object>(messagePack);
+                    var dataCast = Convert.ChangeType(dataObj, clazz);
+                    SetData((T) dataCast);
                 } catch (Exception e) {
                     Console.WriteLine(e.StackTrace);
-                }
+                } 
 
             return base.GetData();
         }