OutArgument<T> Klasa

Definicja

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
OutArgument<T>
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 RemainderOutArgument<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