DrawingCollection.GetEnumerator Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt einen Enumerator zurück, der die Auflistung durchlaufen kann.
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
Gibt zurück
Ein Enumerator, der die Auflistung durchlaufen kann.
Hinweise
Aufzählungen erlauben nur das Lesen der Daten in der Sammlung. Enumeratoren können nicht verwendet werden, um die zugrunde liegende Auflistung zu ändern.
Zunächst wird der Aufzählungsator vor dem ersten Element in der Auflistung positioniert. An dieser Position löst das Aufrufen Current eine Ausnahme aus. Daher müssen Sie aufrufen MoveNext , um den Aufzählungsator zum ersten Element der Auflistung zu wechseln, bevor Sie den Wert lesen Current.
Current gibt solange dasselbe Objekt zurück, bis MoveNext oder Reset aufgerufen wird. MoveNext wird auf das nächste Element festgelegt Current .
Nachdem das Ende der Auflistung übergeben wurde, wird der Aufzählungsator nach dem letzten Element in der Auflistung positioniert, und der Aufruf MoveNext wird zurückgegeben false
. Wenn der letzte anruf, der zurückgegeben werden false
sollMoveNext, löst der Aufruf Current eine Ausnahme aus. Um erneut auf das erste Element der Auflistung festzulegenCurrent, können Sie gefolgt von MoveNext.Reset
Ein Enumerator bleibt gültig, solange die Auflistung unverändert bleibt. Wenn Änderungen an der Auflistung vorgenommen werden, z. B. Hinzufügen, Ändern oder Löschen von Elementen, wird der Aufzählungsator unwiderruflich ungültig und der nächste Aufruf oder MoveNext Reset löst einen .InvalidOperationException Wenn die Auflistung zwischen MoveNext und CurrentCurrent , wird das element zurückgegeben, auf das sie festgelegt ist, auch wenn der Aufzählungsator bereits ungültig ist.
Der Enumerator hat keinen exklusiven Zugriff auf die Auflistung; daher ist die Enumeration einer Auflistung systembedingt kein threadsicheres Verfahren. Auch wenn eine Auflistung synchronisiert wird, könnten andere Threads die Auflistung weiterhin ändern, was dazu führt, dass der Aufzählungsator eine Ausnahme auslöst. Um während der Enumeration Threadsicherheit zu gewährleisten, können Sie entweder die Auflistung während der gesamten Enumeration sperren oder die Ausnahmen, die aus von anderen Threads stammenden Änderungen resultieren, abfangen.