NativeActivity Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Classe base abstrata para atividades personalizadas que implementam a lógica de execução usando o método Execute(NativeActivityContext), que tem acesso completo aos recursos 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
- Derivado
Exemplos
O exemplo de código a seguir demonstra a criação de uma classe que herda de NativeActivity<TResult>. Este exemplo é da composição personalizada usando o exemplo de Atividade 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);
}
}
Construtores
NativeActivity() |
Quando implementado em uma classe derivada, cria uma nova instância da classe derivada. |
Propriedades
CacheId |
Obtém um identificador do cache que é exclusivo no escopo da definição do fluxo de trabalho. (Herdado de Activity) |
CanInduceIdle |
Obtém ou define um valor que indica se a atividade pode fazer com que o fluxo de trabalho fique ocioso. |
Constraints |
Obtém uma coleção de atividades de Constraint que podem ser configuradas para fornecer validação para a Activity. (Herdado de Activity) |
DisplayName |
Obtém ou define um nome amigável opcional que é usado para depuração, validação, manipulação de exceções e acompanhamento. (Herdado de Activity) |
Id |
Obtém um identificador que é exclusivo no escopo da definição do fluxo de trabalho. (Herdado de Activity) |
Implementation |
A lógica de execução da atividade. |
ImplementationVersion |
Obtém ou define a versão de implementação da atividade. |
ImplementationVersion |
Obtém ou define a versão de implementação usada. (Herdado de Activity) |
Métodos
Abort(NativeActivityAbortContext) |
Quando implementado em uma classe derivada, executa ações em resposta à atividade que está sendo anulada. |
CacheMetadata(ActivityMetadata) |
Não implementado. Use o método CacheMetadata(NativeActivityMetadata) em seu lugar. |
CacheMetadata(NativeActivityMetadata) |
Cria e valida uma descrição dos argumentos, das variáveis, das atividades filho e dos representantes da atividade. |
Cancel(NativeActivityContext) |
Quando implementado em uma classe derivada, executa a lógica para causar a conclusão antecipada normal da atividade. |
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
Execute(NativeActivityContext) |
Quando implementado em uma classe derivada, executa a lógica de execução da atividade. |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity) |
Gera um evento durante a criação de um mapa para a atualização dinâmica. |
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity) |
Gera um evento durante a criação de um mapa para a atualização dinâmica. |
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity) |
Gera um evento ao criar o mapa de atualização dinâmica. (Herdado de Activity) |
ShouldSerializeDisplayName() |
Indica se a propriedade DisplayName deve ser serializada. (Herdado de Activity) |
ToString() |
Retorna um String que contém o Id e DisplayName do Activity. (Herdado de Activity) |
UpdateInstance(NativeActivityUpdateContext) |
Atualiza a instância da NativeActivity. |