IDTSInputColumnCollection100.GetEnumerator 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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
반품
IE분자로 컬렉션을 반복하는 데 사용되었습니다.
구현
- 특성
설명
열거자는 컬렉션의 데이터 읽기만 허용합니다. 열거자를 사용하여 기본 컬렉션을 수정할 수 없습니다.
처음에는 열거자가 컬렉션의 첫 번째 요소 앞에 배치됩니다. 리셋은 또한 열거자를 다시 이 위치로 되돌립니다. 이 위치에서 Current를 호출하면 예외가 발생합니다. 따라서 Current의 값을 읽기 전에 열거자를 컬렉션의 첫 번째 요소로 진행시키기 위해 MoveNext를 호출해야 합니다.
Current 는 MoveNext 나 Reset 중 하나가 호출될 때까지 같은 객체를 반환합니다. MoveNext는Current를 다음 요소로 설정합니다.
컬렉션의 끝이 전달된 후, 열거기는 컬렉션의 마지막 요소 뒤에 위치하며, MoveNext 를 호출하면 false가 반환됩니다. 만약 MoveNext 에 대한 마지막 호출이 false로 반환되면, Current 를 호출하면 예외가 발생한다. Current를 다시 컬렉션의 첫 번째 요소로 설정하려면, Reset을 호출한 뒤 MoveNext를 호출할 수 있습니다.
컬렉션이 변경되지 않은 상태로 유지되는 한 열거자는 유효한 상태로 유지됩니다. 컬렉션에 요소 추가, 수정, 삭제 등 변경이 이루어지면, 열거기는 복구 불가능하게 무효화되고, 다음 MoveNext 나 Reset 호출 시 InvalidOperationException이 발생합니다. 컬렉션이 MoveNext 와 Current 사이에서 수정되면, Current 는 이미 열거기가 무효화되었더라도 설정된 요소를 반환합니다.
열거자는 컬렉션에 대한 단독 액세스 권한이 없습니다. 따라서 컬렉션을 열거하는 것은 본질적으로 스레드로부터 안전한 프로시저가 아닙니다. 컬렉션이 동기화된 경우에도 다른 스레드는 컬렉션을 수정할 수 있으므로 열거자가 예외를 throw합니다. 열거 중 스레드 안전을 보장하기 위해 전체 열거 중에 컬렉션을 잠그거나 다른 스레드의 변경으로 인한 예외를 catch할 수 있습니다.