OutArgument<T> OutArgument<T> OutArgument<T> OutArgument<T> Class

Определение

Конечная точка привязки, представляющая поток данных из действия.A binding terminal that represents the flow of data out of an activity.

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
type OutArgument<'T> = class
    inherit OutArgument
Public NotInheritable Class OutArgument(Of T)
Inherits OutArgument

Параметры типа

T

Тип данных объекта OutArgument<T>.The data type of the OutArgument<T>.

Наследование
Атрибуты

Примеры

В следующем образце кода показано создание OutArgument<T>.The following code sample demonstrates creating an OutArgument<T>. Этот пример взят из образца Formatter.This example is from the Formatter sample.

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

        }
};

Комментарии

Аргумент OutArgument<T> используется для вывода данных из действия.An OutArgument<T> is used to flow data out of an activity. Если действие является корневым элементом рабочего процесса, то этот аргумент также используется для вывода данных из рабочего процесса в его ведущее приложение.If the activity is the root activity of a workflow, then it is also used to flow data out of the workflow to the workflow host. В этом примере корневым элементом рабочего процесса служит пользовательское действие Divide с двумя входными аргументами и одним выходным аргументом.In this example, a custom Divide activity that has two input arguments and one output argument is used as the root activity of a workflow. Ведущее приложение передает два значения в рабочий процесс, а затем получает результат деления после завершения рабочего процесса.The host application passes two values into the workflow and then retrieves the result of the division after the workflow completes.

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

Действие Divide использует аргументы для получения входных значений и для передачи вычисленных результирующих значений.The Divide activity uses arguments to receive the input values and to provide the computed result values. Remainder OutArgument<T> Используется для передачи остатка от деления и Result выходной аргумент, предоставляемые Activity<TResult> действия, производные от используется для передачи частного.The Remainder OutArgument<T> is used to pass out the remainder of the division, and the Result output argument provided by Activity<TResult> derived activities is used to pass out the quotient.

Примечание

Если пользовательское действие является производным от универсального класса CodeActivity<TResult> с аргументом Int32 универсального типа, то в случае вызова действия методом Invoke класса WorkflowInvoker оно возвращает значение Int32.If your custom activity is derived from the generic CodeActivity<TResult> with an Int32 as its generic type argument, when you invoke the activity with the WorkflowInvoker Invoke method, it returns an Int32 value. Кроме того CodeActivity<TResult>.Execute метод возвратит Int32 значение вместо void и вам не нужно задавать возвращаемое значение.In Addition, the CodeActivity<TResult>.Execute method will return an Int32 value instead of void and you do not need to set a return value.

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

Конструкторы

OutArgument<T>() OutArgument<T>() OutArgument<T>() OutArgument<T>()

Инициализирует новый экземпляр класса OutArgument<T>, используя значения по умолчанию.Initialize a new instance of the OutArgument<T> class using default values.

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

Инициализирует новый экземпляр класса OutArgument<T> с использованием указанного объекта Activity<TResult>.Initializes a new instance of the OutArgument<T> class using the specified Activity<TResult>.

OutArgument<T>(DelegateArgument) OutArgument<T>(DelegateArgument) OutArgument<T>(DelegateArgument) OutArgument<T>(DelegateArgument)

Инициализирует новый экземпляр класса OutArgument<T> с использованием указанного объекта DelegateArgument.Initializes a new instance of the OutArgument<T> class using the specified DelegateArgument.

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

Инициализирует новый экземпляр класса OutArgument<T>, используя заданное выражение.Initializes a new instance of the OutArgument<T> class using the specified expression.

OutArgument<T>(Variable) OutArgument<T>(Variable) OutArgument<T>(Variable) OutArgument<T>(Variable)

Инициализирует новый экземпляр класса OutArgument<T> с использованием указанного объекта Variable.Initializes a new instance of the OutArgument<T> class using the specified Variable.

Свойства

ArgumentType ArgumentType ArgumentType ArgumentType

Возвращает тип для данных, привязанных к этому Argument.Gets the data type for the data bound to this Argument.

(Inherited from Argument)
Direction Direction Direction Direction

Возвращает объект ArgumentDirection, который указывает направление потока данных, представляемого Argument: в действие, из действия или в обоих направлениях.Gets an ArgumentDirection that specifies whether the Argument represents the flow of data into an activity, out of an activity, or both into and out of an activity.

(Inherited from Argument)
EvaluationOrder EvaluationOrder EvaluationOrder EvaluationOrder

Возвращает или задает отсчитываемое от нуля значение, которое указывает порядок для вычисления аргумента.Gets or sets a zero-based value that specifies the order in which the argument is evaluated.

(Inherited from Argument)
Expression Expression Expression Expression

Возвращает объект Activity<TResult>, который представляет значение этого аргумента OutArgument<T>.Gets an Activity<TResult> that represents the value of this OutArgument<T>.

Методы

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
FromDelegateArgument(DelegateArgument) FromDelegateArgument(DelegateArgument) FromDelegateArgument(DelegateArgument) FromDelegateArgument(DelegateArgument)

Инициализирует и возвращает новый объект OutArgument<T>, созданный с указанной переменной DelegateArgument.Initializes and returns a new OutArgument<T> constructed using the specified DelegateArgument.

FromExpression(Activity<Location<T>>) FromExpression(Activity<Location<T>>) FromExpression(Activity<Location<T>>) FromExpression(Activity<Location<T>>)

Инициализирует и возвращает новый объект OutArgument<T>, созданный с указанной переменной Activity<TResult>.Initializes and returns a new OutArgument<T> constructed using the specified Activity<TResult>.

FromVariable(Variable) FromVariable(Variable) FromVariable(Variable) FromVariable(Variable)

Инициализирует и возвращает новый объект OutArgument<T>, созданный с указанной переменной Variable.Initializes and returns a new OutArgument<T> constructed using the specified Variable.

Get(ActivityContext) Get(ActivityContext) Get(ActivityContext) Get(ActivityContext)

Возвращает значение аргумента OutArgument<T>, используя указанный контекст действия.Gets the value of the OutArgument<T> using the specified activity context.

Get<T>(ActivityContext) Get<T>(ActivityContext) Get<T>(ActivityContext) Get<T>(ActivityContext)

Возвращает значение аргумента, используя указанный тип и контекст действия.Gets the value of the argument using the specified type and activity context.

(Inherited from Argument)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetLocation(ActivityContext) GetLocation(ActivityContext) GetLocation(ActivityContext) GetLocation(ActivityContext)

Возвращает расположение значения для аргумента OutArgument<T>.Gets the location of the value for the OutArgument<T>.

GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
Set(ActivityContext, Object) Set(ActivityContext, Object) Set(ActivityContext, Object) Set(ActivityContext, Object)

Задает значение аргумента, используя указанный контекст действия.Sets the value of the argument using the specified activity context.

(Inherited from Argument)
Set(ActivityContext, T) Set(ActivityContext, T) Set(ActivityContext, T) Set(ActivityContext, T)

Задает значение аргумента OutArgument<T>, используя указанный контекст действия.Sets the value of the OutArgument<T> using the specified activity context.

ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)

Операторы

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

Инициализирует и возвращает новый объект OutArgument<T>, созданный с указанной переменной Activity<TResult>.Initializes and returns a new OutArgument<T> constructed using the specified Activity<TResult>.

Implicit(DelegateArgument to OutArgument<T>) Implicit(DelegateArgument to OutArgument<T>) Implicit(DelegateArgument to OutArgument<T>) Implicit(DelegateArgument to OutArgument<T>)

Инициализирует и возвращает новый объект OutArgument<T>, созданный с указанной переменной DelegateArgument.Initializes and returns a new OutArgument<T> constructed using the specified DelegateArgument.

Implicit(Variable to OutArgument<T>) Implicit(Variable to OutArgument<T>) Implicit(Variable to OutArgument<T>) Implicit(Variable to OutArgument<T>)

Инициализирует и возвращает новый объект OutArgument<T>, созданный с указанной переменной Variable.Initializes and returns a new OutArgument<T> constructed using the specified Variable.

Поля

ResultValue ResultValue ResultValue ResultValue

Представляет значение константы Result, которая соответствует имени свойства Result типа OutArgument в базовом классе выражения ActivityWithResult.Represents the constant value of "Result", which corresponds to the name of the Result property of type OutArgument in the expression base class ActivityWithResult.

(Inherited from Argument)

Применяется к