假设我有一些 .NET 代码......

public class EventEnvelope
{
  public Dictionary<string, string> Headers { get; set; }
  public byte[] Body { get; set; }
}

public class EventSelector
{
  public Predicate<Dictionary<string, string>> Selector { get; set; }
}

现在我想将此事件选择器发送到一个不是用 .NET 编写的事件代理。

我如何以跨平台的方式序列化这个谓词,以便用另一种语言编写的程序可以重建谓词并执行它?

我曾想过尝试编写一个序列化程序,它将谓词写出一些 javascript,然后让 rhino 或 jint 解释并在代理处执行它。

或者也许有一种实际的跨平台方式来表示我不知道的谓词?

你怎么看?

最佳答案

您是否尝试将谓词定义为 Expression ,然后尝试序列化表达式树?这样你就可以获得一致的方式来序列化你的谓词并执行它们。

关于.net - 谓词序列化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5739122/

10-15 10:20