NativeActivity Classe

Definição

Classe base abstrata para atividades personalizadas que implementam lógica de execução usando o Execute(NativeActivityContext) método, que tem acesso total às funcionalidades do 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
Herança
NativeActivity
Derivado

Exemplos

O exemplo de código seguinte demonstra a criação de uma classe que herda de NativeActivity<TResult>. Este exemplo é do exemplo Custom Composite using Native Activity .

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);
    }
}

Construtores

Name Description
NativeActivity()

Quando implementado numa classe derivada, cria-se uma nova instância da classe derivada.

Propriedades

Name Description
CacheId

Obtém o identificador da cache que é único dentro do âmbito da definição do workflow.

(Herdado de Activity)
CanInduceIdle

Recebe ou define um valor que indica se a atividade pode fazer com que o fluxo de trabalho fique inativo.

Constraints

Obtém uma coleção de Constraint atividades que podem ser configuradas para fornecer validação para o Activity.

(Herdado de Activity)
DisplayName

Recebe ou define um nome amigável opcional que é usado para depuração, validação, tratamento de exceções e rastreio.

(Herdado de Activity)
Id

Obtém um identificador que é único no âmbito da definição do fluxo de trabalho.

(Herdado de Activity)
Implementation

A lógica de execução da atividade.

ImplementationVersion

Recebe ou define a versão de implementação da atividade.

Métodos

Name Description
Abort(NativeActivityAbortContext)

Quando implementado numa classe derivada, toma ações em resposta à atividade abortada.

CacheMetadata(ActivityMetadata)

Não implementado. Use o CacheMetadata(NativeActivityMetadata) método em vez disso.

CacheMetadata(NativeActivityMetadata)

Cria e valida uma descrição dos argumentos, variáveis, atividades filhos e delegados de atividade da atividade.

Cancel(NativeActivityContext)

Quando implementado numa classe derivada, executa lógica para garantir uma conclusão precoce e graciosa da atividade.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Execute(NativeActivityContext)

Quando implementado numa classe derivada, executa a lógica de execução da atividade.

GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity)

Abre um evento ao criar um mapa para a atualização dinâmica.

OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

Abre um evento ao criar um mapa para a atualização dinâmica.

ShouldSerializeDisplayName()

Indica se a DisplayName propriedade deve ser serializada.

(Herdado de Activity)
ToString()

Devolve um String que contém o Id e DisplayName do Activity.

(Herdado de Activity)
UpdateInstance(NativeActivityUpdateContext)

Atualiza a instância de NativeActivity.

Aplica-se a