Вопрос

Я ищу сериализатор, который будет соответствовать моим требованиям, сериализатор может быть в .Net framework, продукт с открытым исходным кодом или платный продукт (при условии, что его можно использовать непосредственно из кода).

итак, мои требования таковы:

обязательный

  • Способен обрабатывать циклическую ссылку.
  • Автоматически использует либо атрибут, либо наследование в целевом классе, а затем просто записывает данные в файл.
  • Положительная фильтрация, означающая, что в целевом классе поля помечены как what Для сериализовать, а не то, что не следует сериализовывать (например, [DataMember] в DataContractSerializer, а не как [XmlIgnore] в XmlSerializer).
  • Необходимо использовать конструктор по умолчанию.
  • Поддерживает полиморфизм (никаких таких вещей, как "KnownTypes" в DataContractSerializer).

предпочтительнее

  • Генерирует файл настолько легким, насколько это возможно.
  • Сериализуйте как можно быстрее.
  • Работает в закрытых полях.

Я проверил большинство сериализаторов .Net и попытался найти больше в Интернете, но ничего не вышло: все они либо не поддерживают циклическую ссылку, полиморфизм, либо не используют какой-либо конструктор.так что прямо сейчас у меня практически закончились идеи, и я буду рад небольшой передышке.

Спасибо!

Нет правильного решения

Другие советы

Самым близким в BCL является Двоичный форматировщик но это не совместимо.

Я бы посмотрел на Google Буферы протоколов Они доступны для широкого спектра языков C ++, Java, Python и .NET C #.

Проблема с BinaryFormatter заключается в том, что он выполняет отрицательную фильтрацию (помечает файлы не для сериализации) и что он не использует интерпретатор.что касается буферов протокола Google (или ProtoBuff), то у меня была возможность поработать с ним, и он очень сложный, и вряд ли его можно назвать автоматическим

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top