OutArgument<T> Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Terminal powiązania, który reprezentuje przepływ danych z działania.
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
Typ danych elementu OutArgument<T>.
- Dziedziczenie
- Atrybuty
Przykłady
Poniższy przykład kodu przedstawia tworzenie elementu OutArgument<T>. Ten przykład pochodzi z przykładu 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")
},
},
}
};
Uwagi
Element OutArgument<T> służy do przepływu danych z działania. Jeśli działanie jest głównym działaniem przepływu pracy, służy również do przepływu danych z przepływu pracy do hosta przepływu pracy. W tym przykładzie działanie niestandardowe Divide
, które ma dwa argumenty wejściowe, a jeden argument wyjściowy jest używany jako działanie główne przepływu pracy. Aplikacja hosta przekazuje dwie wartości do przepływu pracy, a następnie pobiera wynik podziału po zakończeniu przepływu pracy.
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"]);
Działanie Divide
używa argumentów do odbierania wartości wejściowych i udostępniania obliczonych wartości wyników. Element Remainder
OutArgument<T> służy do przekazywania reszty dzielenia, a Result argument wyjściowy dostarczony przez Activity<TResult> działania pochodne jest używany do przekazywania ilorazu.
Uwaga
Jeśli działanie niestandardowe pochodzi od typu ogólnego CodeActivity<TResult> jako Int32 argumentu typu ogólnego, podczas wywoływania działania za pomocą WorkflowInvoker metody Invoke zwraca Int32 wartość. Ponadto CodeActivity<TResult>.Execute metoda zwróci Int32 wartość zamiast void
i nie trzeba ustawiać wartości zwracanej.
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>() |
Zainicjuj OutArgument<T> nowe wystąpienie klasy przy użyciu wartości domyślnych. |
OutArgument<T>(Activity<Location<T>>) |
Inicjuje OutArgument<T> nowe wystąpienie klasy przy użyciu określonego Activity<TResult>elementu . |
OutArgument<T>(DelegateArgument) |
Inicjuje OutArgument<T> nowe wystąpienie klasy przy użyciu określonego DelegateArgumentelementu . |
OutArgument<T>(Expression<Func<ActivityContext,T>>) |
Inicjuje OutArgument<T> nowe wystąpienie klasy przy użyciu określonego wyrażenia. |
OutArgument<T>(Variable) |
Inicjuje OutArgument<T> nowe wystąpienie klasy przy użyciu określonego Variableelementu . |
Pola
ResultValue |
Reprezentuje stałą wartość "Result", która odpowiada nazwie Result właściwości typu OutArgument w klasie ActivityWithResultbazowej wyrażeń . (Odziedziczone po Argument) |
Właściwości
ArgumentType |
Pobiera typ danych dla danych powiązanych z tym Argumentelementem . (Odziedziczone po Argument) |
Direction |
Pobiera element ArgumentDirection określający, czy Argument reprezentuje przepływ danych do działania, poza działaniem, czy zarówno do działania, jak i z działania. (Odziedziczone po Argument) |
EvaluationOrder |
Pobiera lub ustawia wartość opartą na zerowej wartości, która określa kolejność, w której argument jest obliczany. (Odziedziczone po Argument) |
Expression |
Pobiera element Activity<TResult> reprezentujący wartość tego OutArgument<T>elementu . |
Metody
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
FromDelegateArgument(DelegateArgument) |
Inicjuje i zwraca nową OutArgument<T> konstrukcję przy użyciu określonego DelegateArgumentelementu . |
FromExpression(Activity<Location<T>>) |
Inicjuje i zwraca nową OutArgument<T> konstrukcję przy użyciu określonego Activity<TResult>elementu . |
FromVariable(Variable) |
Inicjuje i zwraca nową OutArgument<T> konstrukcję przy użyciu określonego Variableelementu . |
Get(ActivityContext) |
Pobiera wartość OutArgument<T> przy użyciu określonego kontekstu działania. |
Get<T>(ActivityContext) |
Pobiera wartość argumentu przy użyciu określonego typu i kontekstu działania. (Odziedziczone po Argument) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetLocation(ActivityContext) |
Pobiera lokalizację wartości dla elementu OutArgument<T>. |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
Set(ActivityContext, Object) |
Ustawia wartość argumentu przy użyciu określonego kontekstu działania. (Odziedziczone po Argument) |
Set(ActivityContext, T) |
Ustawia wartość OutArgument<T> przy użyciu określonego kontekstu działania. |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Operatory
Implicit(Activity<Location<T>> to OutArgument<T>) |
Inicjuje i zwraca nową OutArgument<T> konstrukcję przy użyciu określonego Activity<TResult>elementu . |
Implicit(DelegateArgument to OutArgument<T>) |
Inicjuje i zwraca nową OutArgument<T> konstrukcję przy użyciu określonego DelegateArgumentelementu . |
Implicit(Variable to OutArgument<T>) |
Inicjuje i zwraca nową OutArgument<T> konstrukcję przy użyciu określonego Variableelementu . |
Dotyczy
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla