windows workflow foundation问题 条件表达式

cxdragoon 2016-01-21 12:41:42
最近在学习WF,在最近的4.5版中加入了对C#的支持,尝试着用设计器创建了一个工作流:

在While流程活动中对Condition属性使用了一个条件表达式,对应的XAML代码如下:

……
<While.Condition>
<mca:CSharpValue x:TypeArguments="x:Boolean">
(NumberBells > 12? NumberBells - 12:NumberBells) >= Counter</mca:CSharpValue>
</While.Condition>
……


后来想用代码来实现写了如下代码:

While soundBells = new While();
soundBells.DisplayName = "Sound Bells";
soundBells.Condition =
ExpressionServices.Convert<bool>(env => (NumberBells.Get(env) > 12 ? NumberBells.Get(env) - 12 : NumberBells.Get(env)) >= Counter.Get(env));

编译通过,运行时却报错:
未处理System.NotSupportedException
HResult=-2146233067
Message=不支持“Conditional”类型的表达式。
Source=System.Activities
参考了XAML代码用CSharpValue<>对象来承载条件表达式,运行时报错说工作流未编译
怎样才能在代码中支持条件表达式呢?

...全文
104 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxdragoon 2016-01-21
  • 打赏
  • 举报
回复
没有人理我呀! 顶一下!

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧