MaterialCollection.GetEnumerator 메서드

정의

컬렉션을 반복할 수 있는 열거자를 반환합니다.

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

반환

MaterialCollection.Enumerator

컬렉션을 반복할 수 있는 열거자입니다.

설명

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

처음에 열거자가 컬렉션의 첫 번째 항목 앞에 배치 됩니다. 이 위치에서, 호출 Current 예외를 throw 합니다. 호출 해야 하므로 MoveNext 하 여 열거자의 현재 값을 읽기 전에 컬렉션의 첫 번째 항목으로 이동 합니다.

현재 두 MoveNext 될 때까지 동일한 개체를 반환 하거나 Reset 라고 합니다. MoveNext는 현재 다음 항목으로 설정합니다.

컬렉션의 끝이 전달 된 후 열거자는 컬렉션의 마지막 항목 뒤에 위치 및 MoveNext를 호출 하면 false를 반환 합니다. 마지막 MoveNext 호출에서 false를 반환 하는 경우 호출 현재 예외를 throw 합니다. 현재 다시 컬렉션의 첫 번째 항목을 설정 하려면 다음에 MoveNext 재설정을 호출할 수 있습니다.

컬렉션이 변경되지 않고 그대로 유지되는 한 열거자는 유효한 상태로 유지됩니다. 에 추가 하는 등 컬렉션을 변경 하는 경우 열거자는 무효화를 수정 하거나 삭제할 항목 및 MoveNext 또는 재설정을 다음에 호출할 InvalidOperationException을 throw 합니다. MoveNext 및 Current 간의 컬렉션 수정 되 면 현재 열거자가 이미 무효화 된 경우에로 설정 되어 있는 항목을 반환 합니다.

열거자는 컬렉션에 배타적으로 액세스하지 못하므로 컬렉션을 열거하는 것은 본질적으로 스레드로부터 안전한 프로시저가 아닙니다. 컬렉션이 동기화 된 경우 다른 스레드 수 수정할 하면 열거자가 예외를 throw 하는 컬렉션입니다. 열거하는 동안 스레드로부터 안전을 보장하려면 전체 열거를 수행하는 동안 컬렉션을 잠그거나 다른 스레드에서 변경된 내용으로 인해 발생한 예외를 catch하면 됩니다.

적용 대상