Delen via


Eigenschappen versus argumenten

Er zijn verschillende opties beschikbaar voor het doorgeven van gegevens aan een activiteit. Naast het gebruik InArgumentkunnen activiteiten ook worden ontwikkeld die gegevens ontvangen met behulp van standaard CLR-eigenschappen of openbare ActivityAction eigenschappen. In dit onderwerp wordt beschreven hoe u het juiste methodetype selecteert.

CLR-eigenschappen gebruiken

Wanneer u gegevens doorgeeft aan een activiteit, zijn CLR-eigenschappen (dat wil gezegd openbare methoden die gebruikmaken van Get- en Set-routines om gegevens beschikbaar te maken) de optie die de meeste beperkingen heeft. De waarde van een parameter die wordt doorgegeven aan een CLR-eigenschap moet bekend zijn wanneer de oplossing wordt gecompileerd; deze waarde is hetzelfde voor elk exemplaar van de werkstroom. Op deze manier is een waarde die wordt doorgegeven aan een CLR-eigenschap vergelijkbaar met een constante die in code is gedefinieerd; deze waarde kan niet worden gewijzigd voor de levensduur van de activiteit en kan niet worden gewijzigd voor verschillende exemplaren van de activiteit. MethodName is een voorbeeld van een CLR-eigenschap die wordt weergegeven door een activiteit; de naam van de methode die de activiteitsoproepen niet kunnen worden gewijzigd op basis van runtimevoorwaarden en is hetzelfde voor elk exemplaar van de activiteit.

Argumenten gebruiken

Argumenten moeten worden gebruikt wanneer gegevens slechts één keer worden geëvalueerd tijdens de levensduur van de activiteit; Dat wil gezegd, de waarde ervan zal niet veranderen tijdens de levensduur van de activiteit, maar de waarde kan verschillen voor verschillende exemplaren van de activiteit. Condition is een voorbeeld van een waarde die eenmaal wordt geëvalueerd; daarom wordt het gedefinieerd als een argument. Text is een ander voorbeeld van een methode die moet worden gedefinieerd als een argument, omdat deze slechts eenmaal wordt geëvalueerd tijdens de uitvoering van de activiteit, maar het kan verschillen voor verschillende exemplaren van de activiteit.

ActivityAction gebruiken

Wanneer gegevens meerdere keren moeten worden geëvalueerd tijdens de levensduur van de uitvoering van een activiteit, moet een ActivityAction worden gebruikt. De eigenschap wordt bijvoorbeeld Condition geëvalueerd voor elke iteratie van de While lus. Als een InArgument voor dit doeleinde wordt gebruikt, zou de lus nooit worden afgesloten, omdat het argument niet opnieuw zou worden geëvalueerd voor elke iteratie en altijd hetzelfde resultaat zou retourneren.