DrawingCollection.GetEnumerator DrawingCollection.GetEnumerator DrawingCollection.GetEnumerator DrawingCollection.GetEnumerator Method

정의

컬렉션을 반복할 수 있는 열거자를 반환합니다.Returns an enumerator that can iterate through the collection.

public:
 System::Windows::Media::DrawingCollection::Enumerator GetEnumerator();
public System.Windows.Media.DrawingCollection.Enumerator GetEnumerator ();
member this.GetEnumerator : unit -> System.Windows.Media.DrawingCollection.Enumerator
Public Function GetEnumerator () As DrawingCollection.Enumerator

반환

컬렉션을 반복할 수 있는 열거자입니다.An enumerator that can iterate the collection.

설명

열거자는 컬렉션의 데이터 읽기를 허용 합니다.Enumerators only allow reading the data in the collection. 내부 컬렉션을 수정 하 여 열거자를 사용할 수 없습니다.Enumerators cannot be used to modify the underlying collection.

처음에 열거자가 컬렉션의 첫 번째 항목 앞에 배치 됩니다.Initially, the enumerator is positioned before the first item in the collection. 이 위치에서, 호출 Current 예외를 throw 합니다.At this position, calling Current throws an exception. 따라서 호출 해야 합니다 MoveNext 하 여 열거자의 값을 읽기 전에 컬렉션의 첫 번째 항목으로 Current입니다.Therefore, you must call MoveNext to advance the enumerator to the first item of the collection before reading the value of Current.

Current에서는 MoveNext 또는 Reset이 호출될 때까지 동일한 개체를 반환합니다.Current returns the same object until either MoveNext or Reset is called. MoveNext 설정 Current 다음 항목으로 합니다.MoveNext sets Current to the next item.

열거자가 컬렉션의 마지막 항목 뒤에 배치 하 고 호출 컬렉션의 끝을 지나면 MoveNext 반환 false합니다.After the end of the collection is passed, the enumerator is positioned after the last item in the collection, and calling MoveNext returns false. 마지막으로 호출 하는 경우 MoveNext 반환 false호출, Current 예외를 throw 합니다.If the last call to MoveNext returned false, calling Current throws an exception. 설정할 Current 를 다시 컬렉션의 첫 번째 항목에 호출할 수 있습니다 Reset 뒤에 MoveNext입니다.To set Current to the first item of the collection again, you can call Reset followed by MoveNext.

열거자는 컬렉션이 변경되지 않은 상태로 유지되는 한 유효한 상태를 유지합니다.An enumerator remains valid as long as the collection remains unchanged. 컬렉션 변경 되 면 예: 추가, 수정 또는 삭제 항목 열거자는 무효화 하 고을 다음에 호출할 MoveNext 하거나 Reset throw는 InvalidOperationException합니다.If changes are made to the collection, such as adding, modifying or deleting items, the enumerator is irrecoverably invalidated and the next call to MoveNext or Reset throws an InvalidOperationException. 컬렉션 사이 수정 된 경우 MoveNext 하 고 Current, Current 열거자가 이미 무효화 된 경우에로 설정 되어 있는 항목을 반환 합니다.If the collection is modified between MoveNext and Current, Current will return the item that it is set to, even if the enumerator is already invalidated.

열거자는 컬렉션에 배타적으로 액세스하지 못하므로 컬렉션을 열거하는 것은 본질적으로 스레드로부터 안전한 프로시저가 아닙니다.The enumerator does not have exclusive access to the collection; therefore, enumerating through a collection is intrinsically not a thread-safe procedure. 컬렉션이 동기화 된 경우 다른 스레드 수 수정할 하면 열거자가 예외를 throw 하는 컬렉션입니다.Even when a collection is synchronized, other threads could still modify the collection, which causes the enumerator to throw an exception. 열거하는 동안 스레드로부터 안전을 보장하려면 전체 열거를 수행하는 동안 컬렉션을 잠그거나 다른 스레드에서 변경된 내용으로 인해 발생한 예외를 catch하면 됩니다.To guarantee thread safety during enumeration, you can either lock the collection during the entire enumeration or catch the exceptions resulting from changes made by other threads.

적용 대상

추가 정보