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>用于传递除法的其余部分,派Result生活动提供的Activity<TResult>输出参数用于传递商。
注意
如果您的自定义活动是从采用 CodeActivity<TResult> 作为其泛型类型参数的泛型 Int32 派生的,则当您使用 WorkflowInvoker 调用方法调用该活动时,它将返回一个 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”的常量值,该值对应于表达式基类 ActivityWithResult 中类型为 OutArgument 的 Result 属性的名称。 (继承自 Argument) |
属性
ArgumentType |
获取数据绑定到此 Argument 的数据类型。 (继承自 Argument) |
Direction |
获取 ArgumentDirection,该值指定 Argument 是表示数据流入活动、流出活动还是流入和流出活动。 (继承自 Argument) |
EvaluationOrder |
获取或设置一个从零开始的值,该值指定自变量的计算顺序。 (继承自 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。 |
适用于
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈