公開宣言は、クラスをシリアライズ可能にするための要件ですか?私は[Serializable]
とマークされたすべてのクラスも公開と宣言されているいくつかのコードを調べてきました。私はこれを示す正式な文書を見つけることができませんでした。.NET:パブリック宣言は、クラスをシリアライズ可能にする要件ですか?
0
A
答えて
3
いいえ、Serializable
のような要件はありません。ストリームに永続化されるデータは他の人と共有される可能性が非常に高く、パブリッククラスの選択を促すので、公開クラスでSerializable
が表示されることは驚くことではありません。
0
私はよく分かりません。プライベートネストされたクラスはどうですか?
(public)外部クラスが直列化可能な場合は、おそらく内部クラスも直列化したいと思うでしょう。
0
は限らない、おそらくあなたは別のオブジェクトの状態を表し、直列化された内部クラスを持つオブジェクトを持って、それはあまりにも
0
非常に有効である直列化に依存します。 AFAIK、バイナリシリアル化(つまり、 - [Serializable])はパブリックメンバのアクセスを必要としません。クラスのインメモリスナップショットを取るためのいくつかのブードーを行います。
XmlSerialization(およびJsonSerializationなど)は、通常、クラスにpublicで、必要なパラメータのないコンストラクタを必要とし、すべてのパブリックプロパティまたはフィールドを自動的にシリアル化します。
関連する問題
- 1. C++クラス宣言でクラス名をテンプレート化することは可能ですか?
- 2. クラス内に仮想クラス宣言を入れることは可能ですか?
- 3. フォワードは、C++でクラスのパブリックなtypedefを宣言します
- 4. C++クラスの宣言を2つ使用することは可能ですか?
- 5. Flex AssetsクラスをCSS宣言に埋め込むことは可能ですか?
- 6. Javaでオブジェクトを宣言することは可能ですか?
- 7. クラスをシリアライズ可能にすることの弱点は何ですか?
- 8. CustomExceptionをシリアライズ可能にする必要がありますか?
- 9. SDKのライブラリ内のクラスをC#でシリアライズ可能にマークする
- 10. 宣言スタイル可能なdrawableTop
- 11. シリアライズ可能でないクラス変数をシリアライズ
- 12. 別のJavaクラスでGUIオブジェクトを宣言してアクセス可能にする必要があります
- 13. Java:シリアライズ可能なクラスを実装するクラス
- 14. SCR拡張機能の要件を宣言するにはどうすればいいですか?
- 15. Javaアノテーションはシリアライズ可能ですか?
- 16. C++でヘッダ宣言のクラス宣言が必要
- 17. if条件付きのクラス宣言
- 18. 機能要件は、クライアントのすべての「プログラム可能な」要件ですか?
- 19. クラスの前方宣言とクラスの宣言の違いは何ですか?
- 20. Java generics - Tをシリアライズ可能にすることは可能ですか?
- 21. 別のインタフェースタイプの反復可能オブジェクトを宣言するには?
- 22. 宣言的なキャッシュコンテナの設定 - それは可能ですか?
- 23. Python "json"モジュールを使用してクラスをシリアライズ可能にする
- 24. C#でTypeに代入可能なコンストラクタパラメータを宣言する
- 25. Retrofit2のonResponseで別のシリアライズ可能クラスをマップする方法
- 26. OSに基づいたパブリック変数タイプを宣言する
- 27. 匿名オブジェクトでメソッドを宣言することは不可能ですか?
- 28. オブジェクトのリストを宣言する方法null可asp .net
- 29. PHPで宣言されたクラス宣言を含むクラス宣言PHPコードスニファ
- 30. XMLを使ってC#でシリアライズ可能なクラスを作成するには?
私は一般的に、ほとんどのクラスは公開されていると思います。 –
必ずしもそうではありませんが、ダニエル、確かに解決策の計画と設計に依存します。 –