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. この例では、2 つの入力引数と 1 つの出力引数を持つカスタム 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. ホスト アプリケーションは、2 つの値をワークフローに渡します。そして、ワークフローが完了したら、除算の結果を取得します。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.

注意

カスタム アクティビティが、Int32 をジェネリック型引数として持つジェネリックの CodeActivity<TResult> から派生する場合、アクティビティを WorkflowInvoker Invoke メソッドを使用して呼び出すと、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

"結果" の定数値を表します。これは、式基本クラス ActivityWithResult における型 OutArgumentResult プロパティの名前に対応します。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)

適用対象