2011-04-21 69 views
4

比方說,我有一點.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,然後讓犀牛或jint解釋並在代理處執行它。

或許有表示,我不知道的謂詞的實際跨平臺的方式?

您認爲如何?

回答

0

您是否嘗試過定義謂詞作爲Expression,然後試圖序列表達式樹?這樣,你可以得到你的序列化謂詞和執行它們一致的方式。

+0

這可能會爲.NET工作,但我不知道我怎麼會反序列化Java中的表達式樹,更不用說執行它。合理? – 2011-05-02 02:45:56