5

假设我有一些 .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 解释并在代理处执行它。

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

你怎么看?

4

1 回答 1

0

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

于 2011-04-25T12:55:14.893 回答