Сохранение класса на диск при утилизации: есть ли в моем коде ошибки?
Я пытаюсь создать простой класс, который сериализует себя на диск, когда он больше не используется. Код у меня сейчас (см. Ниже). Код, который у меня сейчас есть, работает, но я не совсем уверен в своих знаниях, поэтому мне интересно, видит ли кто-нибудь еще какие-либо существенные проблемы с этим кодом.
void IDisposable.Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
~MyClass()
{
Dispose(false);
}
protected virtual void Dispose(bool disposing)
{
if (!this.disposed)
{
MemoryStream ms = new MemoryStream();
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(ms, this);
byte[] output = Dostuff(ms);
File.WriteAllBytes(DBPATH, output);
}
this.disposed = true;
}