Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Clase OutArgument<T>

.NET Framework (current version)
 

Publicado: octubre de 2016

Terminal de enlace que representa el flujo de datos de salida de una actividad.

Espacio de nombres:   System.Activities
Ensamblado:  System.Activities (en System.Activities.dll)

System.Object
  System.Activities.Argument
    System.Activities.OutArgument
      System.Activities.OutArgument<T>

[ContentPropertyAttribute("Expression")]
[TypeConverterAttribute(typeof(OutArgumentConverter))]
public sealed class OutArgument<T> : OutArgument

Parámetros de tipo

T

Tipo de datos de OutArgument<T>.

NombreDescripción
System_CAPS_pubmethodOutArgument<T>()

Inicializa una nueva instancia de la clase OutArgument<T> utilizando los valores predeterminados.

System_CAPS_pubmethodOutArgument<T>(Activity<Location<T>>)

Inicializa una nueva instancia de la clase OutArgument<T> utilizando la clase Activity<TResult> especificada.

System_CAPS_pubmethodOutArgument<T>(DelegateArgument)

Inicializa una nueva instancia de la clase OutArgument<T> utilizando la clase DelegateArgument especificada.

System_CAPS_pubmethodOutArgument<T>(Expression<Func<ActivityContext, T>>)

Inicializa una nueva instancia de la clase OutArgument<T> utilizando la expresión especificada.

System_CAPS_pubmethodOutArgument<T>(Variable)

Inicializa una nueva instancia de la clase OutArgument<T> utilizando la clase Variable especificada.

NombreDescripción
System_CAPS_pubpropertyArgumentType

Obtiene el tipo de datos de los datos enlazados a este objeto Argument.(Heredado de Argument).

System_CAPS_pubpropertyDirection

Obtiene un objeto ArgumentDirection que especifica si el argumento Argument representa el flujo de datos de entrada de una actividad, de salida de la actividad o tanto de entrada como de salida de una actividad.(Heredado de Argument).

System_CAPS_pubpropertyEvaluationOrder

Obtiene o establece un valor basado en cero que especifica el orden en el que se evalúa el argumento.(Heredado de Argument).

System_CAPS_pubpropertyExpression

Obtiene una clase Activity<TResult> que representa el valor de esta clase OutArgument<T>.

NombreDescripción
System_CAPS_pubmethodEquals(Object)

Determina si el objeto especificado es igual al objeto actual.(Heredado de Object).

System_CAPS_pubmethodSystem_CAPS_staticFromDelegateArgument(DelegateArgument)

Inicializa y devuelve una nueva clase OutArgument<T> construida usando la DelegateArgument especificada.

System_CAPS_pubmethodSystem_CAPS_staticFromExpression(Activity<Location<T>>)

Inicializa y devuelve una nueva clase OutArgument<T> construida usando la Activity<TResult> especificada.

System_CAPS_pubmethodSystem_CAPS_staticFromVariable(Variable)

Inicializa y devuelve una nueva clase OutArgument<T> construida usando la Variable especificada.

System_CAPS_pubmethodGet(ActivityContext)

Obtiene el valor de la clase OutArgument<T> utilizando el contexto de actividad especificado.

System_CAPS_pubmethodGetHashCode()

Sirve como la función hash predeterminada.(Heredado de Object).

System_CAPS_pubmethodGetLocation(ActivityContext)

Obtiene la ubicación del valor de la clase OutArgument<T>.

System_CAPS_pubmethodGetType()

Obtiene el Type de la instancia actual.(Heredado de Object).

System_CAPS_pubmethodSet(ActivityContext, T)

Establece el valor del argumento OutArgument<T> utilizando el contexto de actividad especificado.

System_CAPS_pubmethodSet(ActivityContext, Object)

Establece el valor del argumento utilizando el contexto de actividad especificado.(Heredado de Argument).

System_CAPS_pubmethodToString()

Devuelve una cadena que representa al objeto actual. (Heredado de Object).

NombreDescripción
System_CAPS_puboperatorSystem_CAPS_staticImplicit(Activity<Location<T>> to OutArgument<T>)

Inicializa y devuelve una nueva clase OutArgument<T> construida usando la Activity<TResult> especificada.

System_CAPS_puboperatorSystem_CAPS_staticImplicit(DelegateArgument to OutArgument<T>)

Inicializa y devuelve una nueva clase OutArgument<T> construida usando la DelegateArgument especificada.

System_CAPS_puboperatorSystem_CAPS_staticImplicit(Variable to OutArgument<T>)

Inicializa y devuelve una nueva clase OutArgument<T> construida usando la Variable especificada.

El OutArgument<T> se utiliza para canalizar el flujo de datos de salida de una actividad. Si la actividad es la actividad raíz de un flujo de trabajo, también se utiliza para el flujo de datos de salida del flujo de trabajo al host del flujo de trabajo. En este ejemplo, se utiliza como la actividad raíz de un flujo de trabajo una actividad Divide personalizada que tiene dos argumentos de entrada y un argumento de salida. La aplicación host pasa dos valores al flujo de trabajo y, a continuación, recupera el resultado de la división cuando se completa el flujo de trabajo.

int dividend = 500;
int divisor = 36;

Dictionary<string, object> arguments = new Dictionary<string, object>();
arguments.Add("Dividend", dividend);
arguments.Add("Divisor", divisor);

IDictionary<string, object> outputs =
    WorkflowInvoker.Invoke(new Divide(), arguments);

Console.WriteLine("{0} / {1} = {2} Remainder {3}",
    dividend, divisor, outputs["Result"], outputs["Remainder"]);

La actividad Divide utiliza los argumentos para recibir los valores de entrada y proporcionar los valores calculados de resultado. El argumento Remainder OutArgument<T>se utiliza para pasar el resto de la división y el argumento de salida Result proporcionado por las actividades derivadas de Activity<TResult> se usa para pasar el cociente.

System_CAPS_noteNota

Si su actividad personalizada se deriva del objeto CodeActivity<TResult> genérico con un valor Int32 como su argumento de tipo genérico, al invocar la actividad con el método Invoke WorkflowInvoker, devuelve un valor Int32. Además, el CodeActivity<TResult>.Execute método devolverá un Int32 valor en lugar de void y no es necesario establecer un valor devuelto.

public sealed class Divide : CodeActivity
{
    [RequiredArgument]
    public InArgument<int> Dividend { get; set; }

    [RequiredArgument]
    public InArgument<int> Divisor { get; set; }

    public OutArgument<int> Remainder { get; set; }
    public OutArgument<int> Result { get; set; }

    protected override void Execute(CodeActivityContext context)
    {
        int quotient = Dividend.Get(context) / Divisor.Get(context);
        int remainder = Dividend.Get(context) % Divisor.Get(context);

        Result.Set(context, quotient);
        Remainder.Set(context, remainder);
    }
}

En la siguiente muestra de código se presenta la creación de OutArgument<T>. Este ejemplo se ha extraído de la muestra Formatter.

Sequence workflow = new Sequence
{
    Variables = { mealExpense, result },
    Activities =
        {
            new Assign<Expense>
            {
               Value = new InArgument<Expense>( (e) => new Meal { Amount = 50, Location = "Redmond", Vendor = "KFC" }),
               To = new OutArgument<Expense>(mealExpense)
            },
            new WriteLine 
            {
                Text = new InArgument<string>("Hello")
            },
            approveExpense,
            new ReceiveReply
            {
                Request = approveExpense,                            
                Content = ReceiveContent.Create(new OutArgument<bool>(result))
            },

            new If
            {
               Condition = new InArgument<bool> (result),
               Then =                         
                    new WriteLine
                    {
                        Text = new InArgument<string>("Expense Approved")
                    },
               Else =                         
                    new WriteLine
                    {
                        Text = new InArgument<string>("Expense Cannot be Approved")
                    },
            },

        }
};

.NET Framework
Disponible desde 4.0

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: