ActivityCollection.GetEnumerator Methode

Definitie

Implementeert een opsommingsinterface naar de ICollection.

public:
 System::Collections::Generic::IEnumerator<System::Workflow::ComponentModel::Activity ^> ^ GetEnumerator();
public System.Collections.Generic.IEnumerator<System.Workflow.ComponentModel.Activity> GetEnumerator();
override this.GetEnumerator : unit -> System.Collections.Generic.IEnumerator<System.Workflow.ComponentModel.Activity>
Public Function GetEnumerator () As IEnumerator(Of Activity)

Retouren

Een enumerator die door het ReadOnlyCollectionBase exemplaar kan worden herhaald.

Implementeringen

Opmerkingen

Enumerators schakelen alleen het lezen van de gegevens in de verzameling in. U kunt geen opsommingen gebruiken om de onderliggende verzameling te wijzigen.

Om te beginnen wordt de enumerator vóór het eerste element in de verzameling weergegeven. Reset brengt ook de enumerator terug naar deze positie. Op deze positie genereert het aanroepen Current een uitzondering. Daarom moet u de opsomming doorschakelen MoveNext naar het eerste element van de verzameling voordat u de waarde van Current.

Current retourneert hetzelfde object tot MoveNext of Reset wordt aangeroepen. MoveNext wordt ingesteld Current op het volgende element.

Nadat het einde van de verzameling is doorgegeven, wordt de enumerator geplaatst na het laatste element in de verzameling en wordt het aanroepen MoveNext geretourneerd false. Als de laatste aanroep die moet MoveNext worden falsegeretourneerd, genereert het aanroepen Current een uitzondering.

Als u het eerste element van de verzameling opnieuw wilt instellenCurrent, kunt u het volgende ResetaanroepenMoveNext.

Een enumerator blijft geldig zolang de verzameling ongewijzigd blijft. Als er wijzigingen worden aangebracht in de verzameling, zoals het toevoegen, wijzigen of verwijderen van elementen, wordt de enumerator onherstelbaar ongeldig gemaakt en wordt de volgende aanroep naar MoveNext of Reset genereert een InvalidOperationException . Als de verzameling wordt gewijzigd tussen MoveNext en Current, Current wordt het element geretourneerd 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. Dit zorgt ervoor dat 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