Sdílet prostřednictvím


OutArgument<T> Třída

Definice

Terminál vazby, který představuje tok dat z aktivity.

generic <typename T>
public ref class OutArgument sealed : System::Activities::OutArgument
[System.ComponentModel.TypeConverter(typeof(System.Activities.XamlIntegration.OutArgumentConverter))]
[System.Windows.Markup.ContentProperty("Expression")]
public sealed class OutArgument<T> : System.Activities.OutArgument
[<System.ComponentModel.TypeConverter(typeof(System.Activities.XamlIntegration.OutArgumentConverter))>]
[<System.Windows.Markup.ContentProperty("Expression")>]
type OutArgument<'T> = class
    inherit OutArgument
Public NotInheritable Class OutArgument(Of T)
Inherits OutArgument

Parametry typu

T

Datový typ OutArgument<T>.

Dědičnost
OutArgument<T>
Atributy

Příklady

Následující ukázka kódu ukazuje vytvoření OutArgument<T>. Tento příklad pochází z ukázky Formatteru.

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

Poznámky

K toku dat z aktivity se používá OutArgument<T>. Pokud je aktivita kořenovou aktivitou pracovního postupu, použije se také k toku dat z pracovního postupu do hostitele pracovního postupu. V tomto příkladu se jako kořenová aktivita pracovního postupu používá vlastní aktivita Divide, která má dva vstupní argumenty a jeden výstupní argument. Hostitelská aplikace předá do pracovního postupu dvě hodnoty a po dokončení pracovního postupu načte výsledek dělení.

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"]);

Aktivita Divide používá argumenty k příjmu vstupních hodnot a k poskytnutí vypočítaných výsledných hodnot. Remainder OutArgument<T> slouží k předání zbytku dělení a Result výstupní argument poskytnutý Activity<TResult> odvozenými aktivitami slouží k předání podílu.

Poznámka

Pokud je vaše vlastní aktivita odvozena od obecného CodeActivity<TResult> s Int32 jako argumentu obecného typu, při vyvolání aktivity pomocí metody WorkflowInvoker Invoke vrátí hodnotu Int32. Kromě toho metoda CodeActivity<TResult>.Execute vrátí hodnotu Int32 místo void a nemusíte nastavovat návratovou hodnotu.

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

Konstruktory

OutArgument<T>()

Inicializuje novou instanci třídy OutArgument<T> pomocí výchozích hodnot.

OutArgument<T>(Activity<Location<T>>)

Inicializuje novou instanci třídy OutArgument<T> pomocí zadané Activity<TResult>.

OutArgument<T>(DelegateArgument)

Inicializuje novou instanci třídy OutArgument<T> pomocí zadané DelegateArgument.

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

Inicializuje novou instanci OutArgument<T> třídy pomocí zadaného výrazu.

OutArgument<T>(Variable)

Inicializuje novou instanci třídy OutArgument<T> pomocí zadané Variable.

Pole

ResultValue

Představuje konstantní hodnotu "Result", která odpovídá názvu vlastnosti Result typu OutArgument v základní třídě výrazu ActivityWithResult.

(Zděděno od Argument)

Vlastnosti

ArgumentType

Získá datový typ pro data svázaná s tímto Argument.

(Zděděno od Argument)
Direction

Získá ArgumentDirection, který určuje, zda Argument představuje tok dat do aktivity, mimo aktivitu, nebo do i mimo aktivitu.

(Zděděno od Argument)
EvaluationOrder

Získá nebo nastaví hodnotu založenou na nule, která určuje pořadí, ve kterém je argument vyhodnocen.

(Zděděno od Argument)
Expression

Získá Activity<TResult>, který představuje hodnotu tohoto OutArgument<T>.

Metody

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
FromDelegateArgument(DelegateArgument)

Inicializuje a vrátí nový OutArgument<T> vytvořený pomocí zadané DelegateArgument.

FromExpression(Activity<Location<T>>)

Inicializuje a vrátí nový OutArgument<T> vytvořený pomocí zadané Activity<TResult>.

FromVariable(Variable)

Inicializuje a vrátí nový OutArgument<T> vytvořený pomocí zadané Variable.

Get(ActivityContext)

Získá hodnotu OutArgument<T> pomocí zadaného kontextu aktivity.

Get<T>(ActivityContext)

Získá hodnotu argumentu pomocí zadaného typu a kontextu aktivity.

(Zděděno od Argument)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetLocation(ActivityContext)

Získá umístění hodnoty pro OutArgument<T>.

GetType()

Získá Type aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
Set(ActivityContext, Object)

Nastaví hodnotu argumentu pomocí zadaného kontextu aktivity.

(Zděděno od Argument)
Set(ActivityContext, T)

Nastaví hodnotu OutArgument<T> pomocí zadaného kontextu aktivity.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Operátory

Implicit(Activity<Location<T>> to OutArgument<T>)

Inicializuje a vrátí nový OutArgument<T> vytvořený pomocí zadané Activity<TResult>.

Implicit(DelegateArgument to OutArgument<T>)

Inicializuje a vrátí nový OutArgument<T> vytvořený pomocí zadané DelegateArgument.

Implicit(Variable to OutArgument<T>)

Inicializuje a vrátí nový OutArgument<T> vytvořený pomocí zadané Variable.

Platí pro