[Serializable]とは何ですか?いつ使用すればよいですか?質問する

[Serializable]とは何ですか?いつ使用すればよいですか?質問する

いくつかのクラスが属性を使用していることがわかりました[Serializable]

  • それは何ですか?
  • いつ使えばいいですか?
  • どのような特典が得られますか?

ベストアンサー1

それは何ですか?

.Net Framework アプリケーションでオブジェクトを作成する場合、データがメモリにどのように格納されるかを考える必要はありません。.Net Framework がそれを処理するためです。ただし、オブジェクトの内容をファイルに格納したり、オブジェクトを別のプロセスに送信したり、ネットワーク経由で転送したりする場合は、別の形式に変換する必要があるため、オブジェクトがどのように表現されるかを考える必要があります。この変換はシリアル化と呼ばれます。

シリアル化の用途

シリアル化により、開発者はオブジェクトの状態を保存し、必要に応じて再作成して、オブジェクトの保存とデータ交換を行うことができます。シリアル化により、開発者は Web サービスを使用してオブジェクトをリモート アプリケーションに送信する、オブジェクトをあるドメインから別のドメインに渡す、オブジェクトを XML 文字列としてファイアウォール経由で渡す、アプリケーション間でセキュリティやユーザー固有の情報を維持するなどのアクションを実行できます。

適用するSerializableAttributeこの型のインスタンスがシリアル化可能であることを示すために、型にSerializableAttributeクラスがISerializableシリアル化プロセスを制御するインターフェース。

型内のパブリックフィールドとプライベートフィールドのうち、SerializableAttribute型がISerializableシリアル化プロセスをオーバーライドするためのインターフェース。デフォルトのシリアル化プロセスでは、NonSerializedAttributeシリアル化可能な型のフィールドに、特定の環境に固有のポインタ、ハンドル、またはその他のデータ構造が含まれており、異なる環境で意味のある形で再構成できない場合は、NonSerializedAttributeその分野に。

見るマイクロソフト詳細については。

編集1

何かをシリアル化可能としてマークしない理由

データを転送または保存するときは、必要なデータのみを送信または保存する必要があります。そのため、転送の遅延やストレージの問題が少なくなります。そのため、シリアル化時に不要なデータ チャンクを除外できます。

おすすめ記事