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í objektu OutArgument<T>. Tento příklad je 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

Slouží OutArgument<T> k toku dat z aktivity. 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í Divide aktivita, 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 získání vstupních hodnot a k poskytnutí vypočítaných hodnot výsledků. Slouží RemainderOutArgument<T> k předání zbytku dělení a Result výstupní argument poskytnutý odvozenými aktivitami Activity<TResult> se používá k předání podílu.

Poznámka

Pokud je vaše vlastní aktivita odvozena od obecného CodeActivity<TResult> s argumentem Int32 obecného typu, při vyvolání aktivity pomocí WorkflowInvoker metody Invoke vrátí Int32 hodnotu. Kromě toho CodeActivity<TResult>.Execute metoda vrátí Int32 hodnotu místo void a nemusíte nastavit 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 OutArgument<T> třídy pomocí výchozích hodnot.

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

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

OutArgument<T>(DelegateArgument)

Inicializuje novou instanci OutArgument<T> třídy 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 OutArgument<T> třídy pomocí zadané Variable.

Pole

ResultValue

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

(Zděděno od Argument)

Vlastnosti

ArgumentType

Získá datový typ pro data vázaná na tento Argument.

(Zděděno od Argument)
Direction

Získá, ArgumentDirection který určuje, zda Argument představuje tok dat do aktivity, ven z aktivity, nebo jak do a ven z aktivity.

(Zděděno od Argument)
EvaluationOrder

Získá nebo nastaví nulovou hodnotu, která určuje pořadí, ve kterém je argument vyhodnocen.

(Zděděno od Argument)
Expression

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

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

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

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

FromExpression(Activity<Location<T>>)

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

FromVariable(Variable)

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

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í hashovací funkce.

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

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

GetType()

Získá aktuální Type instanci.

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

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

(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 objektu 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ého Activity<TResult>objektu .

Implicit(DelegateArgument to OutArgument<T>)

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

Implicit(Variable to OutArgument<T>)

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

Platí pro