12

Azure Cacheプレビューを使用しており、いくつかのクラスをシリアル化可能にする必要があります。

パフォーマンスの問題など、クラスをシリアル化可能にすることの不利な点はありますか?

[Serializable]
public class MyClass {}

関連する質問はほとんど見つかりませんでしたが、不利な点についてではありません。

  1. すべての.NET例外はシリアル化可能ですか?

  2. クラスをSerializableとしてマークすることの欠点

少し早いですがお礼を

4

2 に答える 2

9

いいえ、 としてマークされているだけで、固有のオーバーヘッドはありません[Serializable]。私が抱えている唯一の問題は、BinaryFormatterNetDataContractSerializerがひどいシリアライザーであり、他のほとんどのシリアライザーがこのフラグに興味がないことです (わかりました、私は偏っているかもしれません)

于 2012-10-05T22:14:59.907 に答える
5

Serializable実際のシリアル化プロセスではなく、属性を使用するコストについて話していると仮定すると、1 つの欠点は、サード パーティが通常、クラスがシリアル化できるように設計されていると想定することです。これは事実かもしれませんが、単にシリアライズ可能とマークするだけの場合 (そして、サード パーティがそれと対話する可能性がある場合) は、クラスが適切であることを確認するために時間を費やすことをお勧めします。効率的な方法でシリアル化されます。したがって、その観点からは、技術的なものというよりはリソースのトレードオフです。

技術的な観点からは、Marc Gravell が言ったように、属性を使用するだけでは実際にはオーバーヘッドはありません。

于 2012-10-05T22:22:09.320 に答える