2012-04-02 5 views
1

私はプロパティを持つシリアライズ可能なMessageクラスを持っています。これはプッシュ技術やIPCの組み合わせを使用して、興味のある他のプログラムと通信するための情報の一般的な所有者として使用しています情報にこれにより、通信ピースは送信する情報に不可知論的になります。オブジェクトとしてクラスをシリアル化すると、型情報が失われますか?

私はObjectがネットワーク経由でどのようにシリアル化されて送信されるのかが心配していたので、このData As ObjectByte[]としてシリアル化していました。しかし、デシリアライズ時にData As Objectプロパティに格納されている型のアセンブリを見つけることができないというエラーが発生する場合は、クラスを含むアセンブリでデシリアライズしています... Data As Objectの型を含むアセンブリ。送信されている情報の記述を含むアセンブリは、両側に存在します(しかし、私はどのようにしてバージョン管理を正常に処理するのか分かりません)。

Objectを直接送信する方がよいでしょうか?私はタイプ情報を失い、もう一方のタイプのタイプに戻すことができないのだろうかと思っていました。おそらく、私のタイプについて知らずに別のアセンブリを介してタイプをObjectとして渡すことはできないでしょうか?

私は問題が完全に間違った方法に近づいている可能性が高いです。代替案は喜んで受け入れる。ありがとう!

答えて

2

Q:シリアル化されたオブジェクトは型を失いますか?

A:いいえ

Q:私はそれをシリアル化する前に、私は "オブジェクト" にオブジェクトをキャストしている場合は、私が タイプを失っていますか?

A:はい:)

0

シリアル化は、実際に内蔵なるたバイナリシリアライゼーションかなり少ない効率的に既知のデータをシリアル化するとき(シリアライズされるオブジェクトのランタイム型を含むので、情報が失われない入力します既知のフォーマット)。

あなたがバイナリ形式にあなたのメッセージデータを事前に直列化されていることを意味するならば、私は前にあなたのMessageオブジェクトをシリアライズし、バイト[] ...

としてオブジェクトとしてこのデータをシリアル化されました、それはほぼ確実に不要です。

シナリオについての詳細がないと、より具体的なアドバイスを行うことは困難です。

関連する問題