OutArgument<T> Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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>-Elements.
- Vererbung
- Attribute
Beispiele
Im folgenden Codebeispiel wird das Erstellen eines OutArgument<T> gezeigt. Dieses Beispiel stammt aus dem Formatiererbeispiel.
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
Ein OutArgument<T> wird für den Datenfluss aus einer Aktivität verwendet. Wenn die Aktivität die Stammaktivität eines Workflows ist, dann wird das Element auch für den Datenfluss vom Workflow zum Workflowhost verwendet. In diesem Beispiel wird eine benutzerdefinierte Divide
-Aktivität als Stammaktivität eines Workflows verwendet, die über zwei Eingabeargumente und ein Ausgabeargument verfügt. Die Hostanwendung übergibt zwei Werte an den Workflow und ruft dann das Ergebnis der Division ab, nachdem der Workflow abgeschlossen ist.
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. Wird Remainder
OutArgument<T> verwendet, um den Rest der Division zu übergeben, und das Result von Activity<TResult> abgeleiteten Aktivitäten bereitgestellte Ausgabeargument wird verwendet, um den Quotienten zu übergeben.
Hinweis
Wenn die benutzerdefinierte Aktivität von der generischen CodeActivity<TResult> mit Int32 als generischem Typargument abgeleitet wird und Sie die Aktivität mit der WorkflowInvoker-Aufrufmethode aufrufen, wird ein Int32-Wert zurückgegeben. Darüber hinaus gibt die CodeActivity<TResult>.Execute -Methode einen Int32 Wert anstelle von void
zurück, 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
OutArgument<T>() |
Initialisiert eine neue Instanz der OutArgument<T>-Klasse mit Standardwerten. |
OutArgument<T>(Activity<Location<T>>) |
Initialisiert eine neue Instanz der OutArgument<T>-Klasse mit dem angegebenen Activity<TResult>. |
OutArgument<T>(DelegateArgument) |
Initialisiert eine neue Instanz der OutArgument<T>-Klasse mit dem angegebenen DelegateArgument. |
OutArgument<T>(Expression<Func<ActivityContext,T>>) |
Initialisiert mit dem angegebenen Ausdruck eine neue Instanz der OutArgument<T>-Klasse. |
OutArgument<T>(Variable) |
Initialisiert eine neue Instanz der OutArgument<T>-Klasse mit dem angegebenen Variable. |
Felder
ResultValue |
Stellt den konstanten Wert von „Result“ dar, der dem Namen der Result-Eigenschaft des Typs OutArgument in der Ausdrucksbasisklasse ActivityWithResult entspricht. (Geerbt von Argument) |
Eigenschaften
ArgumentType |
Ruft den Datentyp für die Daten ab, die an dieses Argument-Element gebunden sind. (Geerbt von Argument) |
Direction |
Ruft ein ArgumentDirection-Element ab, mit dem angegeben wird, ob das Argument den Datenfluss in eine Aktivität, aus einer Aktivität oder in beide Richtungen darstellt. (Geerbt von Argument) |
EvaluationOrder |
Ruft einen nullbasierten Wert ab (bzw. legt diesen fest), der die Reihenfolge angibt, in der das Argument ausgewertet wird. (Geerbt von Argument) |
Expression |
Ruft eine Activity<TResult> ab, die den Wert von OutArgument<T> darstellt. |
Methoden
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
FromDelegateArgument(DelegateArgument) |
Initialisiert mit der angegebenen OutArgument<T> ein neues DelegateArgument und gibt es zurück. |
FromExpression(Activity<Location<T>>) |
Initialisiert mit der angegebenen OutArgument<T> ein neues Activity<TResult> und gibt es zurück. |
FromVariable(Variable) |
Initialisiert mit der angegebenen OutArgument<T> ein neues Variable und gibt es zurück. |
Get(ActivityContext) |
Ruft den Wert von OutArgument<T> mithilfe 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() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetLocation(ActivityContext) |
Ruft den Speicherort des Werts für das OutArgument<T> ab. |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des 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 von OutArgument<T> mithilfe des angegebenen Aktivitätskontexts fest. |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Operatoren
Implicit(Activity<Location<T>> to OutArgument<T>) |
Initialisiert mit der angegebenen OutArgument<T> ein neues Activity<TResult> und gibt es zurück. |
Implicit(DelegateArgument to OutArgument<T>) |
Initialisiert mit der angegebenen OutArgument<T> ein neues DelegateArgument und gibt es zurück. |
Implicit(Variable to OutArgument<T>) |
Initialisiert mit der angegebenen OutArgument<T> ein neues Variable und gibt es zurück. |
Gilt für:
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für