OutArgument<T> クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
アクティビティからのデータフローを表すバインディング ターミナル。
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
型パラメーター
- T
OutArgument<T>のデータ型。
- 継承
- 属性
例
次のコード サンプルは、 OutArgument<T>の作成を示しています。 この例は、フォーマッタ サンプルの例です。
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>は、アクティビティからデータをフローするために使用されます。 アクティビティがワークフローのルート アクティビティである場合は、ワークフローからワークフロー ホストにデータをフローするためにも使用されます。 この例では、2 つの入力引数と 1 つの出力引数を持つカスタム Divide アクティビティが、ワークフローのルート アクティビティとして使用されます。 ホスト アプリケーションは、ワークフローに 2 つの値を渡し、ワークフローの完了後に除算の結果を取得します。
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 アクティビティでは、引数を使用して入力値を受け取り、計算された結果値を指定します。
Remainder
OutArgument<T>は除算の残りの部分を渡すために使用され、Result派生アクティビティによって提供されるActivity<TResult>出力引数を使用して商を渡します。
Note
カスタム アクティビティがジェネリック型引数としてCodeActivity<TResult>を持つジェネリック Int32から派生した場合、WorkflowInvoker Invoke メソッドを使用してアクティビティを呼び出すと、Int32値が返されます。 さらに、CodeActivity<TResult>.Execute メソッドはInt32ではなくvoid値を返します。戻り値を設定する必要はありません。
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>(Activity<Location<T>>) |
指定したOutArgument<T>を使用して、Activity<TResult> クラスの新しいインスタンスを初期化します。 |
| OutArgument<T>(DelegateArgument) |
指定したOutArgument<T>を使用して、DelegateArgument クラスの新しいインスタンスを初期化します。 |
| OutArgument<T>(Expression<Func<ActivityContext,T>>) |
指定した式を使用して、 OutArgument<T> クラスの新しいインスタンスを初期化します。 |
| OutArgument<T>(Variable) |
指定したOutArgument<T>を使用して、Variable クラスの新しいインスタンスを初期化します。 |
フィールド
| 名前 | 説明 |
|---|---|
| ResultValue |
式の基底クラスのResultでOutArgument型のActivityWithResult プロパティの名前に対応する "Result" の定数値を表します。 (継承元 Argument) |
プロパティ
| 名前 | 説明 |
|---|---|
| ArgumentType |
この Argumentにバインドされているデータのデータ型を取得します。 (継承元 Argument) |
| Direction |
ArgumentDirectionがアクティビティへのデータ フロー、アクティビティからのデータ フロー、またはアクティビティとの間のデータ フローを表すかどうかを示すArgumentを取得します。 (継承元 Argument) |
| EvaluationOrder |
引数の評価順序を指定する 0 から始まる値を取得または設定します。 (継承元 Argument) |
| Expression |
このActivity<TResult>の値を表すOutArgument<T>を取得します。 |
メソッド
| 名前 | 説明 |
|---|---|
| Equals(Object) |
指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
| FromDelegateArgument(DelegateArgument) |
指定したOutArgument<T>を使用して構築された新しいDelegateArgumentを初期化して返します。 |
| FromExpression(Activity<Location<T>>) |
指定したOutArgument<T>を使用して構築された新しいActivity<TResult>を初期化して返します。 |
| FromVariable(Variable) |
指定したOutArgument<T>を使用して構築された新しいVariableを初期化して返します。 |
| Get(ActivityContext) |
指定したアクティビティ コンテキストを使用して、 OutArgument<T> の値を取得します。 |
| Get<T>(ActivityContext) |
指定した型とアクティビティ コンテキストを使用して、引数の値を取得します。 (継承元 Argument) |
| GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
| GetLocation(ActivityContext) |
OutArgument<T>の値の場所を取得します。 |
| GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
| MemberwiseClone() |
現在の Objectの簡易コピーを作成します。 (継承元 Object) |
| Set(ActivityContext, Object) |
指定したアクティビティ コンテキストを使用して引数の値を設定します。 (継承元 Argument) |
| Set(ActivityContext, T) |
指定したアクティビティ コンテキストを使用して、 OutArgument<T> の値を設定します。 |
| ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
演算子
| 名前 | 説明 |
|---|---|
| Implicit(Activity<Location<T>> to OutArgument<T>) |
指定したOutArgument<T>を使用して構築された新しいActivity<TResult>を初期化して返します。 |
| Implicit(DelegateArgument to OutArgument<T>) |
指定したOutArgument<T>を使用して構築された新しいDelegateArgumentを初期化して返します。 |
| Implicit(Variable to OutArgument<T>) |
指定したOutArgument<T>を使用して構築された新しいVariableを初期化して返します。 |