Eh bir döküm myObjectiçin byte[]siz ya eğer açık bir dönüşüm var sürece asla işe gidiyor myObject olduğunu bir byte[]. Sen bir seri hale çerçeveye ihtiyaç bazı tür. Protokol Tamponları dahil olmak üzere pek çok şey varBana yakın ve benim için değerli olan da şey var. Hem uzay hem de zaman açısından oldukça "zayıf ve kötü".
Hemen hemen tüm serileştirme çerçevelerinin, neyi serileştirebileceğiniz konusunda önemli kısıtlamalara sahip olduğunu göreceksiniz - Platformlar arası olması nedeniyle bazılarından daha fazla Protokol Tamponları.
Daha fazla gereksinim belirtebilirseniz, size daha fazla yardımcı olabiliriz - ancak bu asla oyuncu seçimi kadar basit olmayacak ...
DÜZENLEME: Sadece buna yanıt vermek için:
Nesnenin baytlarını içermesi için ikili dosyama ihtiyacım var. Yalnızca baytlar, hiçbir meta veri yok. Paketlenmiş nesneden nesneye. Bu yüzden özel serileştirme uygulayacağım.
Lütfen nesnelerinizdeki baytların oldukça sık referans olduğunu unutmayın ... bu yüzden onlarla ne yapacağınızı bulmanız gerekecek.
Kendi özel serileştirme çerçevenizi tasarlamanın ve uygulamanın hayal ettiğinizden daha zor olduğunu göreceksiniz.
Kişisel olarak tavsiye ederim, eğer bunu sadece birkaç özel tip için yapmanız gerekiyorsa, genel bir serileştirme çerçevesi bulmaya çalışmakla uğraşmayın. İhtiyacınız olan tüm türlerde yalnızca bir örnek yöntemi ve statik bir yöntem uygulayın:
public void WriteTo(Stream stream)
public static WhateverType ReadFrom(Stream stream)
Unutulmaması gereken bir şey var: Kalıtım varsa, her şey daha karmaşık hale gelir. Kalıtım olmadan, hangi türle başladığınızı biliyorsanız, herhangi bir tür bilgisi eklemenize gerek yoktur. Elbette, sürüm oluşturma meselesi de var - türlerinizin farklı sürümleriyle geriye ve ileriye dönük uyumluluk konusunda endişelenmeniz gerekiyor mu?