IEnumerator.MoveNext()
의 구현은 상대적으로 빠를 것으로 예상됩니까? 또는 "다음 항목으로 이동"에 디스크 IO, 웹 요청 또는 기타 잠재적으로 장기간 실행되는 작업이 포함되어 있으면 괜찮습니까?IEnumerator.MoveNext()의 구현에 장시간 실행되는 프로세스가 포함되어 있어도 괜찮습니까?
예를 들어 나는 문서를 처리하는 프로젝트에서 작업하고 있으며 문서에 대한 액세스를 IDocumentSource
으로 추상화하려고합니다. IDocumentSource
의 일부 구현은 단순히 로컬 파일 시스템에서 문서를 가져올 수 있습니다. 다른 시스템에서는 문서를 열기 전에 웹 서버에서 임시 위치로 문서를 다운로드 할 수 있습니다. 이 경우 MoveNext()
은 이전 임시 파일을 닫고 삭제 한 다음 처리 할 다음 파일을 다운로드하여 엽니 다.
"빠른"것이 아니라면 나는 상대적으로 혼란 스러울 것이다. 그러나 그런 부작용에 훨씬 더. – user2864740
네, 이에 동의합니다. IEnumerator에 대한 문서화 된 모범 사례가 아니더라도 –