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 に答える