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 base astratta per le attività personalizzate che implementano la logica di esecuzione usando il Execute(NativeActivityContext) metodo , che ha 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 illustrata la creazione di una classe che eredita da NativeActivity<TResult>. Questo esempio proviene dall'esempio personalizzato composito usando l'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
| Nome | Descrizione |
|---|---|
| NativeActivity() |
Se implementato in una classe derivata, crea una nuova istanza della classe derivata. |
Proprietà
| Nome | Descrizione |
|---|---|
| CacheId |
Ottiene l'identificatore della cache univoca nell'ambito della definizione del flusso di lavoro. (Ereditato da Activity) |
| CanInduceIdle |
Ottiene o imposta un valore che indica se l'attività può causare l'inattività del flusso di lavoro. |
| Constraints |
Ottiene una raccolta di Constraint attività che possono essere configurate per fornire la convalida per .Activity (Ereditato da Activity) |
| DisplayName |
Ottiene o imposta un nome descrittivo facoltativo utilizzato per il debug, la convalida, la gestione delle eccezioni e il rilevamento. (Ereditato da Activity) |
| Id |
Ottiene un identificatore 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à. |
Metodi
| Nome | Descrizione |
|---|---|
| Abort(NativeActivityAbortContext) |
Se implementato in una classe derivata, esegue azioni in risposta all'interruzione dell'attività. |
| CacheMetadata(ActivityMetadata) |
Non implementata. Usare invece il CacheMetadata(NativeActivityMetadata) metodo . |
| CacheMetadata(NativeActivityMetadata) |
Crea e convalida una descrizione degli argomenti, delle variabili, delle attività figlio e dei delegati di attività dell'attività. |
| Cancel(NativeActivityContext) |
Se implementato in una classe derivata, esegue la logica per causare il completamento anticipato normale dell'attività. |
| Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
| Execute(NativeActivityContext) |
Se implementato in una classe derivata, esegue la logica di esecuzione dell'attività. |
| GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity) |
Genera un evento durante la creazione di una mappa per l'aggiornamento dinamico. |
| OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity) |
Genera un evento durante la creazione di una mappa per l'aggiornamento dinamico. |
| ShouldSerializeDisplayName() |
Indica se la DisplayName proprietà deve essere serializzata. (Ereditato da Activity) |
| ToString() |
Restituisce un String oggetto contenente l'oggetto Id e DisplayName dell'oggetto Activity. (Ereditato da Activity) |
| UpdateInstance(NativeActivityUpdateContext) |
Aggiorna l'istanza di NativeActivity. |