我正在WF 4.0中实现状态机。在某些转换中,我添加了一个条件,我检查某些变量是否具有预期值。变量是枚举和布尔值,一切都很好。
但是,现在我尝试评估属性何时为null。我在我的工作流程中有争论,比方说,'MyArgument'。在转换过程中,我试图设置一个像'MyArgument.MyProperty = Nothing'这样的条件。我从来没有在VB.NET中开发,我不知道我在这里遗漏了什么...
VS2010给出以下错误:“错误4编译器错误遇到处理表达式”MyArg.MyProp = Nothing“。运算符'='未定义类型'XXXX'和'XXXX'
类型名称完全相同,我调试了VS2010以确保我的程序集没有从2个不同的位置加载。
有人遇到同样的问题吗?有什么我想念的吗?如何检查属性是否为空?
顺便说一句,我在W7 64位上使用安装了.NET Platform Update 1的VS2010 SP 1。
谢谢你的帮助!
我不确定这是否能回答你的问题,因为我认为我的情况与你的不同。如果不必要地重复你已经精通过的事情,我会道歉。
我有一个工作流范围的变量,我称之为“WorkflowXvariable”。我有一个名为“CustomActivity”的自定义活动。要在CustomActivity的代码中与WorkflowXvariable进行交互,我必须先做两件事:1)在CustomActivity类中创建一个属性,我将用它来引用WorkflowX。我将其称为“ActivityXproperty”。 2)在可视化设计器中,在CustomActivity实例的属性网格中,我将ActivityXProperty设置为WorkflowXVariable。
WorkflowXvariable可能为null。在CustomActivity的代码中,我可以测试这个:
if(ActivityXproperty == null)返回;
我遇到了你的帖子,因为我希望能够检查ActivityXproperty是否设置为WorkflowXvariable,因为它应该是 - 它的“表达式”是否为空。我还没有确定一种方法,比如检查Activity.Expression是否为null。
无论是因为ActivityXproperty的表达式没有设置为任何东西,还是因为WorkflowXvariable为null,我可以测试的是ActivityXproperty是否为null。
我正在解决类似的问题,检查变量是否为null。我的解决方案是: