0
私はカスタムクラスのインスタンスをファイルに保存するメソッドを持っています。このファイルは0値のバイト(ヌル文字)で埋められているため、アプリケーションが起動しないことに気づいたことがあります。以前これは起こったことがなく、うまく動いていたようです。誰かがこのコードで奇妙な何かを見ますか?シリアライザやメモリストリームがゼロ値の配列を返す原因になりますか?それとも、それが別のアプリケーションの仕事だと思わなければなりませんか?XmlSerializerとMemoryStreamは0の値バイトの配列を返しますか?
private readonly XmlSerializer _serializer = new XmlSerializer(typeof(MySettings));
public void Save(MySettings config)
{
using (var stream = new MemoryStream())
{
_serializer.Serialize(stream, config);
byte[] binaryConfig = stream.ToArray();
File.WriteAllBytes(_configFilePath, binaryConfig);
}
}