NativeActivity Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
- 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. |