IDTSPathCollection100.GetEnumerator 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
IDTSPathCollection100을 반복할 수 있는 열거자를 반환합니다.
public:
System::Collections::IEnumerator ^ GetEnumerator();
[System.Runtime.InteropServices.DispId(-4)]
public System.Collections.IEnumerator GetEnumerator ();
[<System.Runtime.InteropServices.DispId(-4)>]
abstract member GetEnumerator : unit -> System.Collections.IEnumerator
Public Function GetEnumerator () As IEnumerator
반환
컬렉션을 반복하는 데 사용되는 IEnumerator를 반환합니다.
구현
- 특성
설명
열거자는 컬렉션의 데이터 읽기를 허용 합니다. 내부 컬렉션을 수정 하 여 열거자를 사용할 수 없습니다.
처음에 열거자는 컬렉션의 첫 번째 요소 앞에 배치됩니다. Reset
을 실행하면 열거자가 이 위치로 복원됩니다. 이 위치에서, 호출 Current
예외를 throw 합니다. 따라서 MoveNext
의 값을 읽기 전에 Current
를 호출하여 열거자를 해당 컬렉션의 첫 번째 요소로 보내야 합니다.
Current
에서는 MoveNext
또는 Reset
이 호출될 때까지 동일한 개체를 반환합니다. MoveNext
는 Current
를 다음 요소로 설정합니다.
컬렉션의 끝이 전달된 후 열거자는 컬렉션의 마지막 요소 뒤에 배치되고 MoveNext
를 호출하면 false
가 반환됩니다. 마지막으로 호출 하는 경우 MoveNext
반환 false
호출, Current
예외를 throw 합니다. Current
를 컬렉션의 첫째 요소에 다시 설정하려면 Reset
을 호출한 뒤 MoveNext
를 호출해야 합니다.
컬렉션이 변경되지 않고 그대로 유지되는 한 열거자는 유효한 상태로 유지됩니다. 요소를 추가, 수정 또는 삭제하는 등 컬렉션을 변경하는 경우 열거자는 무효화되고 복구할 수 없으며 MoveNext
또는 Reset
을 다음에 호출할 때 InvalidOperationException
이 발생합니다. 컬렉션 사이 수정 된 경우 MoveNext
하 고 Current
, Current
열거자가 이미 무효화 된 경우에로 설정 되어 있는 요소를 반환 합니다.
열거자는 컬렉션에 배타적으로 액세스하지 못하므로 컬렉션을 열거하는 것은 본질적으로 스레드로부터 안전한 프로시저가 아닙니다. 컬렉션이 동기화되어 있을 때 다른 스레드에서 해당 컬렉션을 수정할 수 있으므로 이렇게 되면 열거자에서 예외가 throw됩니다. 열거하는 동안 스레드로부터 안전을 보장하려면 전체 열거를 수행하는 동안 컬렉션을 잠그거나 다른 스레드에서 변경된 내용으로 인해 발생한 예외를 catch하면 됩니다.