假设我有一些 .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 解释并在代理处执行它。
或者也许有一种我不知道的表示谓词的实际跨平台方式?
你怎么看?