J'ai une méthode qui enregistre une instance de ma classe personnalisée dans un fichier. Une fois, j'ai remarqué que mon application ne démarre pas, car ce fichier est rempli avec des octets de valeur 0 (caractères nuls). Cela ne s'est jamais produit auparavant, cela semblait fonctionner correctement. Est-ce que quelqu'un voit quelque chose d'étrange avec ce code? Quelque chose qui peut provoquer le sérialiseur ou le flux de mémoire pour retourner un tableau de valeurs zéro? Ou devrais-je soupçonner que c'est le travail d'une autre application?XmlSerializer et MemoryStream peuvent renvoyer un tableau de 0 octets de valeur?
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);
}
}