- اینکار اضافی است. چون xml را تبدیل به json میکنید؛ بعد json را تبدیل به xml.
+ خروجی serializer.Serialize از نوع XElement است.
بنابراین در قسمت آرگومان جنریک JsonConvert.DeserializeObject باید XElement
ذکر شود. مرحله بعدی آن فراخوانی serializer.Deserialize روی این خروجی است.
Expression<Func<Book, bool>> expression = x => x.Code > 2 && x.Code < 5;
var expressionSerializer = new Common.ExpressionSerializer();
var xml = expressionSerializer.Serialize(expression);
var xmlToJson = JsonConvert.SerializeObject(xml);
var xmlObject = JsonConvert.DeserializeObject<XElement>(xmlToJson);
var exp2 = expressionSerializer.Deserialize(xmlObject) as Expression<Func<Book, bool>>;