Жизнь после Dispose (.net)
От: ylem  
Дата: 08.07.15 00:33
Оценка:
Есть самодельный класс, реализующий IDisposable и с одним методом GetNext, который или возвращает кое-что, или говорит, что нечего возвращать.
https://msdn.microsoft.com/en-us/library/system.idisposable(v=vs.110).aspx

Оказалось удобным для использования сделать:

1. после вызова Dispose() метод GetNext() говорит, что возвращать нечего (вместо того, чтобы кидать эксепшн https://msdn.microsoft.com/en-us/library/system.objectdisposedexception(v=vs.110).aspx)

2. вызовы к GetNext() и Dispose() асинхронные, но внутри встают в очередь. Сделал так, что GetNext(), начавшиеся до Dispose, результат вернут, а начавшиеся после -- нет.

На сколько 1 и 2 "правильно" и соответствует ожиданиям от IDisposable?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.