MaterialCollection.GetEnumerator Methode

Definitie

Retourneert een enumerator die door de verzameling kan worden herhaald.

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

Retouren

Een opsommingsprogramma waarmee de verzameling kan worden herhaald.

Opmerkingen

Enumerators staan alleen het lezen van de gegevens in de verzameling toe. Enumerators kunnen niet worden gebruikt om de onderliggende verzameling te wijzigen.

In eerste instantie wordt de enumerator vóór het eerste item in de verzameling weergegeven. Op deze positie genereert het aanroepen Current een uitzondering. Daarom moet u de opsomming doorschakelen MoveNext naar het eerste item van de verzameling voordat u de waarde van Current leest.

Current retourneert hetzelfde object totdat MoveNext of Reset wordt aangeroepen. MoveNext stelt Current in op het volgende item.

Nadat het einde van de verzameling is doorgegeven, wordt de enumerator geplaatst na het laatste item in de verzameling en retourneert het aanroepen van MoveNext onwaar. Als de laatste aanroep naar MoveNext onwaar heeft geretourneerd, genereert het aanroepen van Current een uitzondering. Als u Current wilt instellen op het eerste item van de verzameling, kunt u Opnieuw instellen aanroepen gevolgd door MoveNext.

Een enumerator blijft geldig zolang de verzameling ongewijzigd blijft. Als er wijzigingen worden aangebracht in de verzameling, zoals het toevoegen, wijzigen of verwijderen van items, is de enumerator onherstelbaar ongeldig en genereert de volgende aanroep van MoveNext of Reset een InvalidOperationException. Als de verzameling wordt gewijzigd tussen MoveNext en Current, retourneert Current het item waarop het is ingesteld, zelfs als de opsomming al ongeldig is.

De enumerator heeft geen exclusieve toegang tot de verzameling; Daarom is het inventariseren via een verzameling intrinsiek geen thread-veilige procedure. Zelfs wanneer een verzameling wordt gesynchroniseerd, kunnen andere threads de verzameling nog steeds wijzigen, waardoor de enumerator een uitzondering genereert. Om de veiligheid van threads tijdens de inventarisatie te garanderen, kunt u de verzameling vergrendelen tijdens de volledige inventarisatie of de uitzonderingen ondervangen die het gevolg zijn van wijzigingen die door andere threads zijn aangebracht.

Van toepassing op