【问题标题】:predicate serialization谓词序列化
【发布时间】:2011-08-09 23:52:10
【问题描述】:

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

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

你怎么看?

【问题讨论】:

    标签: .net serialization predicate jint


    【解决方案1】:

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

    【讨论】:

    • 这可能适用于 .NET,但我不确定如何反序列化 java 中的表达式树,更不用说执行它了。有意义吗?
    猜你喜欢
    • 2022-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多