Предикатная сериализация

Допустим, у меня есть немного кода.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 и выполнял его в брокере.

Или, может быть, существует настоящий кроссплатформенный способ представления предикатов, о котором я не знаю?

Как вы думаете?

1 ответ

Вы пытались определить свой предикат как выражение, а затем пытались сериализовать дерево выражений? Таким образом, вы можете получить последовательный способ сериализации ваших предикатов и их выполнения.

Другие вопросы по тегам