これは表面上の簡単な質問のようですが、私はこれについてコミュニティに連絡すると考えました。私はストリーム内の.NET型をシリアル化しているので、各型を一意に識別するための何らかの方法が必要であり、そのため、逆の型を逆シリアル化する方法を知っています。メッセージの種類を識別するために、整数を必要と属性を持つそれぞれのタイプ タイプを一意に識別するための最良の方法
- 注釈:私は、さまざまなアプローチを考えてきました
私は属性を必要とせずにこれを行うことができます。整数を使用すると競合が発生しやすくなります。新しいタイプを作成するたびにGUIDを生成するのは面倒です。第3の選択肢は可能であると思われるが、やや孤立しているにもかかわらず、衝突の可能性がある。
私ができるようにしたいのは、この一意性を決定的な方法で推測して、オブジェクトを何らかの形でマークしなくても、渡したり逆シリアル化したりできることです。既に既知の型を両方の両端に登録する方法があると仮定します。したがって、メッセージが送信される前に、両端にすでに許容可能な型のリストがあります。私がしたいのは、知られているタイプを登録するプロセスをより控えめにすることだけです。
編集:必要な一意性を達成しながら、可能な限りワイヤで小さくしたいと思います。
それはより詳細な情報を提供してください、あなたのケースに適合しない場合は、例えばType.GUID
使用することができます
**完全修飾型名**を使用しないのはなぜですか?それは十分にユニークでなければなりません.... –
異なるバージョンのアセンブリで同じタイプはどうでしょうか?それらを同じタイプまたは2つの異なるタイプとして識別しますか? –
異なる名前の型を別々のアセンブリで扱うことをお勧めします。たぶん、そうではないかもしれません... –