私の現在のプロジェクトでは、FxCopを使用してさまざまなコード分析の警告を処理しています。命名規則では、ルールに合致するように名前を変更するか、現在のスペルを維持して警告を抑制するという決定を下すかの選択肢があります。 [Serializable]
としてマークされているクラスまたは属性に関しては、名前の変更の影響に関心があります。特に、既存のシリアライズされたデータとの下位互換性はどのように影響を受けますか?あなたはとを変更する前にシリアライズ古いデータを読み取る必要がフィールド名を変更した場合シリアライズ可能なクラスと名前のリファクタリング
3
A
答えて
2
、それは厄介得ることができます。 BinaryFormatter
は主にフィールド(名前)ベースのシリアライザであり、うれしいことではありません。プロパティとメソッドを変更するのは、外部コードがそれを参照していない限り(そして単体テストを必ず実行してください)、うまくいくはずです。その時点で実行可能なオプション:手動シリアル化(ISerializable
)とシリアル化代理。たくさんの痛み。
XmlSerializer
/DataContractSerialializer
を使用している場合は、メンバーシップ名を個別にメンバー名に付けることができますので、簡単に修正できます。
[XmlElement("Color")] // original spelling
public string Colour {get;set;} // now with the correct spelling ;-p
:そして、いくつかの他のシリアライザは、すべての;-p
XmlSerializer
例で名前を使用しないでください
関連する問題
- 1. シリアライズ可能なネストされたクラスを持つクラスのシリアライズ奇妙なコンパイルエラー
- 2. シリアライズ可能でないクラス変数をシリアライズ
- 3. コルーチン付きのシリアライズ可能クラス?
- 4. シリアライズ可能クラスの使用方法
- 5. JSONシリアライズ可能クラスの動的パラメータ
- 6. 非シリアライズ可能な拡張可能クラスへのパラメータのないコンストラクタの追加
- 7. Java:シリアライズ可能なクラスを実装するクラス
- 8. オブジェクトをJSONシリアライズ可能な
- 9. シリアライズ可能なLookAndFeel - ClassCastException
- 10. Android:Homescreenショートカット(シリアライズ可能なエクストラ)
- 11. シリアライズ可能なクラスのアクティビティのコンテキストを取得
- 12. シリアライズ可能と同期
- 13. シリアライズ可能クラスコレクション
- 14. クラスをシリアライズ可能なものとしてマーキングすることの短所
- 15. シリアライズ不可能な第三者クラスのJavaシリアル化
- 16. Ocean Workstepの派生クラスのリファクタリング/名前の変更
- 17. Javaでシリアライズ可能なラムダのパフォーマンス8
- 18. Pythonのシリアライズ可能なオブジェクトjson
- 19. シリアル化と競合のシリアライズが可能
- 20. linqpadとカスタムIPrincipalのシリアライズ可能
- 21. C#という名前のクラスに新しい名前を付けることは可能ですか?
- 22. Eclipse:Struts 2アプリケーションのリファクタリング機能可能?
- 23. プリミティブとヌル可能な結果のメソッドの名前の慣習
- 24. SDKのライブラリ内のクラスをC#でシリアライズ可能にマークする
- 25. Retrofit2のonResponseで別のシリアライズ可能クラスをマップする方法
- 26. シリアライズ不可能なオブジェクトをキャッシュする
- 27. シリアライズ可能なドメインモデルを生成する
- 28. flask_mail MessageインスタンスがJSONシリアライズ可能な
- 29. JSON非シリアライズ可能なdjango RESTフレームワーク
- 30. org.apache.spark.SparkException:タスクがシリアライズ可能でないjava