NativeActivity Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Classe di base astratta per attività personalizzate che implementano la logica di esecuzione usando il metodo Execute(NativeActivityContext) che dispone dell'accesso completo alle funzionalità del 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
- Ereditarietà
- Derivato
Esempio
Nell'esempio di codice seguente viene mostrata la creazione di una classe che eredita dall'oggetto NativeActivity<TResult>. Questo esempio proviene dall'esempio personalizzato composito usando l'esempio di attività nativa .
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);
}
}
Costruttori
NativeActivity() |
Quando è implementato in una classe derivata, crea una nuova istanza della classe derivata. |
Proprietà
CacheId |
Ottiene l'identificatore della cache che è univoco all'interno dell'ambito della definizione del flusso di lavoro. (Ereditato da Activity) |
CanInduceIdle |
Ottiene o imposta un valore che indica se l'attività può determinare che il flusso di lavoro diventi inattivo. |
Constraints |
Ottiene una raccolta di attività Constraint che possono essere configurate per fornire la convalida per Activity. (Ereditato da Activity) |
DisplayName |
Ottiene o imposta un nome descrittivo facoltativo utilizzato per debug, convalida, gestione delle eccezioni e rilevamento. (Ereditato da Activity) |
Id |
Ottiene un identificatore che è univoco nell'ambito della definizione del flusso di lavoro. (Ereditato da Activity) |
Implementation |
Logica di esecuzione dell'attività. |
ImplementationVersion |
Ottiene o imposta la versione di implementazione dell'attività. |
ImplementationVersion |
Ottiene o imposta la versione dell'implementazione utilizzata. (Ereditato da Activity) |
Metodi
Abort(NativeActivityAbortContext) |
Quando è implementato in una classe derivata, intraprende azioni in risposta all'attività interrotta. |
CacheMetadata(ActivityMetadata) |
Non implementato. Al suo posto usa il metodo CacheMetadata(NativeActivityMetadata). |
CacheMetadata(NativeActivityMetadata) |
Crea e convalida una descrizione degli argomenti dell'attività, delle variabili, delle attività figlio e dei delegati di attività. |
Cancel(NativeActivityContext) |
In caso di implementazione in una classe derivata, è in esecuzione logico provocare primo completamento aggraziato dell'attività. |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
Execute(NativeActivityContext) |
Quando è implementato in una classe derivata, esegue la logica di esecuzione dell'attività. |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity) |
Genera un evento quando si crea un mapping per l'aggiornamento dinamico. |
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity) |
Genera un evento quando si crea un mapping per l'aggiornamento dinamico. |
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity) |
Genera un evento quando si crea un mapping per l'aggiornamento dinamico. (Ereditato da Activity) |
ShouldSerializeDisplayName() |
Indica se la proprietà DisplayName deve essere serializzata. (Ereditato da Activity) |
ToString() |
Restituisce un String che contiene il Id e il DisplayName del Activity. (Ereditato da Activity) |
UpdateInstance(NativeActivityUpdateContext) |
Aggiorna l'istanza di NativeActivity. |