NativeActivity Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Abstracte basisklasse voor aangepaste activiteiten die uitvoeringslogica implementeren met behulp van de Execute(NativeActivityContext) methode, die volledige toegang heeft tot de functies van de runtime.
public ref class NativeActivity abstract : System::Activities::Activity
public abstract class NativeActivity : System.Activities.Activity
type NativeActivity = class
inherit Activity
Public MustInherit Class NativeActivity
Inherits Activity
- Overname
- Afgeleid
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u een klasse maakt die wordt overgenomen van NativeActivity<TResult>. Dit voorbeeld is afkomstig uit het aangepaste samengestelde voorbeeld met behulp van een systeemeigen activiteit .
public sealed class MySequence : NativeActivity
{
Collection<Activity> children;
Collection<Variable> variables;
Variable<int> currentIndex;
CompletionCallback onChildComplete;
public MySequence()
: base()
{
this.children = new Collection<Activity>();
this.variables = new Collection<Variable>();
this.currentIndex = new Variable<int>();
}
public Collection<Activity> Activities
{
get
{
return this.children;
}
}
public Collection<Variable> Variables
{
get
{
return this.variables;
}
}
protected override void CacheMetadata(NativeActivityMetadata metadata)
{
//call base.CacheMetadata to add the Activities and Variables to this activity's metadata
base.CacheMetadata(metadata);
//add the private implementation variable: currentIndex
metadata.AddImplementationVariable(this.currentIndex);
}
protected override void Execute(NativeActivityContext context)
{
InternalExecute(context, null);
}
void InternalExecute(NativeActivityContext context, ActivityInstance instance)
{
//grab the index of the current Activity
int currentActivityIndex = this.currentIndex.Get(context);
if (currentActivityIndex == Activities.Count)
{
//if the currentActivityIndex is equal to the count of MySequence's Activities
//MySequence is complete
return;
}
if (this.onChildComplete == null)
{
//on completion of the current child, have the runtime call back on this method
this.onChildComplete = new CompletionCallback(InternalExecute);
}
//grab the next Activity in MySequence.Activities and schedule it
Activity nextChild = Activities[currentActivityIndex];
context.ScheduleActivity(nextChild, this.onChildComplete);
//increment the currentIndex
this.currentIndex.Set(context, ++currentActivityIndex);
}
}
Constructors
| Name | Description |
|---|---|
| NativeActivity() |
Wanneer deze wordt geïmplementeerd in een afgeleide klasse, maakt u een nieuw exemplaar van de afgeleide klasse. |
Eigenschappen
| Name | Description |
|---|---|
| CacheId |
Hiermee haalt u de id op van de cache die uniek is binnen het bereik van de werkstroomdefinitie. (Overgenomen van Activity) |
| CanInduceIdle |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de activiteit ertoe kan leiden dat de werkstroom niet actief wordt. |
| Constraints |
Hiermee haalt u een verzameling Constraint activiteiten op die kunnen worden geconfigureerd voor validatie voor de Activity. (Overgenomen van Activity) |
| DisplayName |
Hiermee haalt u een optionele beschrijvende naam op die wordt gebruikt voor foutopsporing, validatie, afhandeling van uitzonderingen en tracering. (Overgenomen van Activity) |
| Id |
Hiermee haalt u een id op die uniek is in het bereik van de werkstroomdefinitie. (Overgenomen van Activity) |
| Implementation |
De uitvoeringslogica van de activiteit. |
| ImplementationVersion |
Hiermee haalt u de implementatieversie van de activiteit op of stelt u deze in. |
Methoden
| Name | Description |
|---|---|
| Abort(NativeActivityAbortContext) |
Wanneer deze is geïmplementeerd in een afgeleide klasse, voert u acties uit als reactie op de activiteit die wordt afgebroken. |
| CacheMetadata(ActivityMetadata) |
Niet geïmplementeerd. Gebruik in plaats daarvan de CacheMetadata(NativeActivityMetadata) methode. |
| CacheMetadata(NativeActivityMetadata) |
Hiermee maakt en valideert u een beschrijving van de argumenten, variabelen, onderliggende activiteiten en activiteit gedelegeerden van de activiteit. |
| Cancel(NativeActivityContext) |
Wanneer deze is geïmplementeerd in een afgeleide klasse, voert u logica uit om een respijtende vroege voltooiing van de activiteit te veroorzaken. |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| Execute(NativeActivityContext) |
Wanneer deze wordt geïmplementeerd in een afgeleide klasse, voert u de uitvoeringslogica van de activiteit uit. |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity) |
Hiermee wordt een gebeurtenis gegenereerd bij het maken van een kaart voor de dynamische update. |
| OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity) |
Hiermee wordt een gebeurtenis gegenereerd bij het maken van een kaart voor de dynamische update. |
| ShouldSerializeDisplayName() |
Geeft aan of de DisplayName eigenschap moet worden geserialiseerd. (Overgenomen van Activity) |
| ToString() |
Retourneert een String met de Id en DisplayName van de Activity. (Overgenomen van Activity) |
| UpdateInstance(NativeActivityUpdateContext) |
Hiermee wordt het exemplaar van NativeActivity. |