Большинство методов класса System.IO.Stream
доступны как в синхронном, так и в асинхронном вариантах.
Для методов чтения / записи в документации явно указано, что необходимо переопределить только синхронные методы, и что асинхронные методы будут работать из коробки.
Но как насчет методов удаления? Должен ли я переопределить Dispose()
или DisposeAsync()
или оба в моей собственной реализации потока?
Если рекомендации такие же, как и для других методов (переопределить только синхронный Dispose()
), то есть следующее: наверх вопрос: что, если мне нужно выполнить некоторые асинхронные операции при удалении - смогу ли я реализовать синхронное и асинхронное удаление?