瀏覽代碼

Fixed Serialization issue with InList Filters

frogsoftware 1 年之前
父節點
當前提交
9d7d4ffa7d
共有 1 個文件被更改,包括 5 次插入1 次删除
  1. 5 1
      InABox.Core/Filter.cs

+ 5 - 1
InABox.Core/Filter.cs

@@ -1503,7 +1503,11 @@ namespace InABox.Core
         {
             Expression = reader.DeserialiseExpression(typeof(T));
             Operator = (Operator)reader.ReadByte();
-            Value = CoreUtils.ChangeType(DeserializeValue(reader), Expression.Type);
+            var val = DeserializeValue(reader);
+            var type = (Operator == Operator.InList || Operator == Operator.NotInList)
+                ? Expression.Type.MakeArrayType()
+                : Expression.Type;
+            Value = CoreUtils.ChangeType(val, type);
 
             Ands.Clear();
             var nAnds = reader.ReadInt32();