다음을 통해 공유


IDTSExternalMetadataColumnCollection100.GetEnumerator 메서드

정의

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

반환

외부 메타데이터 열 컬렉션을 반복할 수 있는 System.Collections.Generic.IEnumerator입니다.

구현

특성

설명

열거자는 컬렉션의 데이터 읽기를 허용 합니다. 내부 컬렉션을 수정 하 여 열거자를 사용할 수 없습니다.

처음에 열거자는 컬렉션의 첫 번째 요소 앞에 배치됩니다. 또한 다시 설정 하면 열거자가 이 위치로 돌아갑니다. 이 위치에서 Current 를 호출하면 예외가 throw됩니다. 따라서 Current 값을 읽기 전에 MoveNext를 호출하여 열거자를 컬렉션의 첫 번째 요소로 이동해야 합니다.

현재MoveNext 또는 Reset 이 호출될 때까지 동일한 개체를 반환합니다. MoveNext는현재 를 다음 요소로 설정합니다.

컬렉션의 끝을 전달한 후 열거자는 컬렉션의 마지막 요소 앞에 배치되고 MoveNext 를 호출하면 false가 반환됩니다. MoveNext에 대한 마지막 호출이 false를 반환하면 Current를 호출하면 예외가 throw됩니다. Current를 컬렉션의 첫 번째 요소로 다시 설정하려면 Reset을 호출한 다음 MoveNext를 호출할 수 있습니다.

컬렉션이 변경되지 않고 그대로 유지되는 한 열거자는 유효한 상태로 유지됩니다. 요소 추가, 수정 또는 삭제와 같이 컬렉션이 변경되면 열거자가 취소할 수 없게 무효화되고 MoveNext 또는 Reset 에 대한 다음 호출은 InvalidOperationException을 throw합니다. MoveNextCurrent 간에 컬렉션이 수정되면 열거자가 이미 무효화된 경우에도 현재 컬렉션이 설정된 요소를 반환합니다.

열거자는 컬렉션에 배타적으로 액세스하지 못하므로 컬렉션을 열거하는 것은 본질적으로 스레드로부터 안전한 프로시저가 아닙니다. 컬렉션이 동기화되어 있을 때 다른 스레드에서 해당 컬렉션을 수정할 수 있으므로 이렇게 되면 열거자에서 예외가 throw됩니다. 열거 중 스레드 안전을 보장하기 위해 전체 열거 중에 컬렉션을 잠그거나 다른 스레드의 변경으로 인해 발생하는 예외를 catch할 수 있습니다.

적용 대상