سؤال

أنا أبحث عن مُسلَّم مسلسل يتوافق مع متطلباتي ، يمكن أن يكون المسلسل في إطار .NET أو منتج مفتوح أو منتج مدفوع (طالما أنه يمكن استخدام B مباشرة من الكود).

الآن ، متطلباتي هي:

إلزامي

  • قادر على التعامل مع مرجع دوري.
  • أوتوماتيكي ، إما USUES السمة أو الميراث في الفئة المستهدفة ، ثم يكتب ببساطة إلى الملف.
  • التصفية الإيجابية ، وهذا يعني أنه في الفئة المستهدفة يتم تمييز الحقول على النحو ماذا ل التسلسل ، وليس ما لا يمكن التسلسل (مثل [Datamember] في DatacontractSerializer وليس مثل [Xmlignore] في XmlSerializer).
  • يجب استخدام مُنشئ افتراضي.
  • يدعم تعدد الأشكال (لا توجد أشياء مثل "الأنواع المعروفة" في DataContractSerializer).

مفضل

  • يولد الملف على ضوء الحياة الخفيفة قدر الإمكان.
  • تسلسل في أسرع وقت ممكن.
  • يعمل في الحقول غير العامة.

راجعت معظم المسلسلات .NET وحاولت العثور على المزيد عبر الإنترنت ، وخرجت ، كل ذلك لا يدعم المرجع الدوري أو تعدد الأشكال أو الجرعة التي لا تستخدم أي مُنشئ. حتى الآن ، أنا خارج عن الأفكار ، وسأكون سعيدًا ببعض HALP.

شكرًا لك!

لا يوجد حل صحيح

نصائح أخرى

الأقرب في BCL هو ثنائي التكافؤ لكنها ليست قابلة للتشغيل البيني.

سوف أنظر إلى Google's المخازن المؤقتة البروتوكول وهي متوفرة لمجموعة واسعة من اللغات C ++ و Java و Python و .net C#.

المشكلة مع ثنائية الأداء هي أنه تصفية سلبية (وضع علامة على الفلح وليس للسلسلة) وأنه لا يستخدم أحد المركز. حول مخازن بروتوكول Google (أو protobuff) ، أتيحت لي الفرصة للعمل معها ومعقدة للغاية ولا يمكن الرجوع إليها على أنها تلقائية

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top