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> 用于将数据流出活动。 如果活动是工作流的根活动,则它还用于将数据流出工作流主机。 在此示例中,具有两个输入参数和一个输出参数的自定义 Divide
活动用作工作流的根活动。 主机应用程序将两个值传递到工作流中,然后在工作流完成后检索除法的结果。
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> 用于传递除法的其余部分,Activity<TResult> 派生活动提供的 Result 输出参数用于传递商。
注意
如果自定义活动派生自泛型 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>>) |
使用指定的 Activity<TResult>初始化 OutArgument<T> 类的新实例。 |
OutArgument<T>(DelegateArgument) |
使用指定的 DelegateArgument初始化 OutArgument<T> 类的新实例。 |
OutArgument<T>(Expression<Func<ActivityContext,T>>) |
使用指定的表达式初始化 OutArgument<T> 类的新实例。 |
OutArgument<T>(Variable) |
使用指定的 Variable初始化 OutArgument<T> 类的新实例。 |
字段
ResultValue |
表示“Result”的常量值,该值对应于表达式基类 ActivityWithResult中 OutArgument 类型的 Result 属性的名称。 (继承自 Argument) |
属性
ArgumentType |
获取绑定到此 Argument的数据的数据类型。 (继承自 Argument) |
Direction |
获取一个 ArgumentDirection,该值指定 Argument 是表示数据流到活动、活动流出还是传入和传出活动。 (继承自 Argument) |
EvaluationOrder |
获取或设置一个从零开始的值,该值指定参数的计算顺序。 (继承自 Argument) |
Expression |
获取表示此 OutArgument<T>值的 Activity<TResult>。 |
方法
Equals(Object) |
确定指定的对象是否等于当前对象。 (继承自 Object) |
FromDelegateArgument(DelegateArgument) |
初始化并返回使用指定的 DelegateArgument构造的新 OutArgument<T>。 |
FromExpression(Activity<Location<T>>) |
初始化并返回使用指定的 Activity<TResult>构造的新 OutArgument<T>。 |
FromVariable(Variable) |
初始化并返回使用指定的 Variable构造的新 OutArgument<T>。 |
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>) |
初始化并返回使用指定的 Activity<TResult>构造的新 OutArgument<T>。 |
Implicit(DelegateArgument to OutArgument<T>) |
初始化并返回使用指定的 DelegateArgument构造的新 OutArgument<T>。 |
Implicit(Variable to OutArgument<T>) |
初始化并返回使用指定的 Variable构造的新 OutArgument<T>。 |