Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Há várias opções disponíveis para passar dados para uma atividade. Além de usar InArgument, também podem ser desenvolvidas atividades que recebem dados usando tanto propriedades padrão do CLR como propriedades públicas ActivityAction. Este tópico discute como selecionar o tipo de método apropriado.
Usando propriedades CLR
Ao passar dados para uma atividade, as propriedades CLR (ou seja, métodos públicos que usam rotinas Get e set para expor dados) são a opção que tem mais restrições. O valor de um parâmetro passado para uma propriedade CLR deve ser conhecido quando a solução é compilada; Esse valor será o mesmo para todas as instâncias do fluxo de trabalho. Desta forma, um valor passado para uma propriedade CLR é semelhante a uma constante definida no código; Esse valor não pode ser alterado durante a vida da atividade e não pode ser alterado para diferentes instâncias da atividade. MethodName é um exemplo de uma propriedade CLR exposta por uma atividade; O nome do método que a atividade chama não pode ser alterado com base nas condições de tempo de execução e será o mesmo para todas as instâncias da atividade.
Usando argumentos
Os argumentos devem ser usados quando os dados são avaliados apenas uma vez durante o período de vida da atividade; ou seja, seu valor não mudará durante o tempo de vida da atividade, mas o valor pode ser diferente para diferentes instâncias da atividade. Condition é um exemplo de um valor que é avaliado uma vez; por conseguinte, define-se como um argumento. Text é outro exemplo de um método que deve ser definido como um argumento, uma vez que é avaliado apenas uma vez durante a execução da atividade, mas pode ser diferente para diferentes instâncias da atividade.
Usando o ActivityAction
Quando os dados precisam ser avaliados várias vezes durante o tempo de vida da execução de uma atividade, um ActivityAction deve ser usado. Por exemplo, a Condition propriedade é avaliada para cada iteração do While loop. Se um InArgument fosse usado para este fim, o loop nunca sairia, uma vez que o argumento não seria reavaliado para cada iteração, e sempre retornaria o mesmo resultado.