using (var file_stream = File.Create("users.xml"))
{
var serializer = new XmlSerializer(typeof(PasswordManager));
serializer.Serialize(file_stream, this);
file_stream.Close();
}
Использование приведенного выше кода работает отлично. Однако, когда я сокращаю его до:
var serializer = new XmlSerializer(typeof(PasswordManager));
serializer.Serialize(File.Create("users.xml"), this);
Я получаю следующее исключение при попытке десериализации файла users.xml в том же тесте:
Процесс не может получить доступ к файлу 'users.xml', поскольку он используется другим процессом.
Причина, по-видимому, в том, что метод File.Create возвращает открытый FileStream, который я не могу закрыть, так как не держу ссылку на него.
Мой плохой или Microsoft? ; -)