OutArgument<T> Klasse

Definition

Ein Bindungsterminal, das den Datenfluss aus einer Aktivität darstellt.

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

Typparameter

T

Der Datentyp des OutArgument<T>.

Vererbung
OutArgument<T>
Attribute

Beispiele

Das folgende Codebeispiel veranschaulicht das Erstellen eines OutArgument<T>. Dieses Beispiel stammt aus dem Formatterbeispiel.

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

Hinweise

Eine OutArgument<T> wird verwendet, um Daten aus einer Aktivität zu fließen. Wenn die Aktivität die Stammaktivität eines Workflows ist, wird sie auch verwendet, um Daten aus dem Workflow an den Workflowhost zu übertragen. In diesem Beispiel wird eine benutzerdefinierte Divide Aktivität mit zwei Eingabeargumenten und einem Ausgabeargument als Stammaktivität eines Workflows verwendet. Die Hostanwendung übergibt zwei Werte an den Workflow und ruft das Ergebnis der Division nach Abschluss des Workflows ab.

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

Die Divide Aktivität verwendet Argumente, um die Eingabewerte zu empfangen und die berechneten Ergebniswerte bereitzustellen. Die RemainderOutArgument<T> Wird verwendet, um den Rest der Division zu übergeben, und das Ausgabeargument, das Result von Activity<TResult> abgeleiteten Aktivitäten bereitgestellt wird, wird verwendet, um den Quotient zu übergeben.

Note

Wenn Ihre benutzerdefinierte Aktivität vom Generika CodeActivity<TResult> mit einem Int32 generischen Typargument abgeleitet wird, wenn Sie die Aktivität mit der WorkflowInvoker Invoke-Methode aufrufen, wird ein Int32 Wert zurückgegeben. Darüber hinaus gibt die CodeActivity<TResult>.Execute Methode einen Int32 Wert anstelle von void und Sie müssen keinen Rückgabewert festlegen.

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

Konstruktoren

Name Beschreibung
OutArgument<T>()

Initialisieren Sie eine neue Instanz der OutArgument<T> Klasse mithilfe von Standardwerten.

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

Initialisiert eine neue Instanz der Klasse mithilfe des OutArgument<T> angegebenen Activity<TResult>.

OutArgument<T>(DelegateArgument)

Initialisiert eine neue Instanz der Klasse mithilfe des OutArgument<T> angegebenen DelegateArgument.

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

Initialisiert eine neue Instanz der OutArgument<T> Klasse mithilfe des angegebenen Ausdrucks.

OutArgument<T>(Variable)

Initialisiert eine neue Instanz der Klasse mithilfe des OutArgument<T> angegebenen Variable.

Felder

Name Beschreibung
ResultValue

Stellt den Konstantenwert von "Result" dar, der dem Namen der Result Eigenschaft des Typs OutArgument in der Ausdrucksbasisklasse ActivityWithResultentspricht.

(Geerbt von Argument)

Eigenschaften

Name Beschreibung
ArgumentType

Ruft den Datentyp für die an diese ArgumentDaten gebundenen Daten ab.

(Geerbt von Argument)
Direction

Ruft einen ArgumentDirection , der angibt, ob der Argument Datenfluss in eine Aktivität, aus einer Aktivität oder in eine Aktivität oder beides in und aus einer Aktivität darstellt.

(Geerbt von Argument)
EvaluationOrder

Dient zum Abrufen oder Festlegen eines nullbasierten Werts, der die Reihenfolge angibt, in der das Argument ausgewertet wird.

(Geerbt von Argument)
Expression

Ruft einen Activity<TResult> , der den Wert dieses OutArgument<T>Darstellt.

Methoden

Name Beschreibung
Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
FromDelegateArgument(DelegateArgument)

Initialisiert und gibt ein neues OutArgument<T> erstellt mit dem angegebenen DelegateArgument.

FromExpression(Activity<Location<T>>)

Initialisiert und gibt ein neues OutArgument<T> erstellt mit dem angegebenen Activity<TResult>.

FromVariable(Variable)

Initialisiert und gibt ein neues OutArgument<T> erstellt mit dem angegebenen Variable.

Get(ActivityContext)

Ruft den Wert der OutArgument<T> verwendung des angegebenen Aktivitätskontexts ab.

Get<T>(ActivityContext)

Ruft den Wert des Arguments mithilfe des angegebenen Typs und Aktivitätskontexts ab.

(Geerbt von Argument)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetLocation(ActivityContext)

Ruft die Position des Werts für die OutArgument<T>.

GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
Set(ActivityContext, Object)

Legt den Wert des Arguments mithilfe des angegebenen Aktivitätskontexts fest.

(Geerbt von Argument)
Set(ActivityContext, T)

Legt den Wert für die Verwendung des OutArgument<T> angegebenen Aktivitätskontexts fest.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Operatoren

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

Initialisiert und gibt ein neues OutArgument<T> erstellt mit dem angegebenen Activity<TResult>.

Implicit(DelegateArgument to OutArgument<T>)

Initialisiert und gibt ein neues OutArgument<T> erstellt mit dem angegebenen DelegateArgument.

Implicit(Variable to OutArgument<T>)

Initialisiert und gibt ein neues OutArgument<T> erstellt mit dem angegebenen Variable.

Gilt für: