シリアライゼーションに BinaryFormatter を使用する大量のコードを継承したので、デバッグする必要があります。現在、すべてのシリアル化コードは IFormatter を想定しています。
BinaryFormatter を XmlSerializer に置き換えて、シリアル化された出力を簡単に調べられるようにするというアイデアがありましたが、互換性がありません (共通のベースまたはインターフェイスがありません)。
これに対する標準的なアプローチはありますか?たとえば、パラメーターをコードで使用できる汎用シリアライザーのようなものにしますか? 理想的には、最上位で必要な具体的なシリアライザーを作成し、下位レベルで具体的な型を知る必要なくそれを渡したいと思います。
私が現在持っているものの例:
BinaryFormatter bformatter = new BinaryFormatter(); //create a binary formatter
PutPw(bformatter, stream, panel.DevicePassword); //encode and stream the password
public static void PutPw(IFormatter bf, Stream stream, string pw)
{
...
bf.Serialize(stream, pw);
}