我是新的C#,不知道如何比较DateTime
数据类型。如果我使用相等运算符,它可以正常工作:
RM(FILE.FileCreationTime) == System.DateTime.Parse("11:30:00")
但我在使用时向我显示错误:
RM(FILE.FileCreationTime) <= System.DateTime.Parse("11:30:00")
错误就像:
operator&lt; =无法应用于System.DateTime和System.DateTime类型的操作数
答案 0 :(得分:2)
重要的是,您使用的语法实际上不是c#!! 在BizTalk业务流程中工作时,您使用的是基于XLANG的C#变体。
您可以在此处找到更多信息:http://masteringbiztalkserver.wordpress.com/2011/02/21/debugging- 配器合的BizTalk服务器-2009-使用-C-CS-文件/
Orchestration * .odx文件包含一个XML文件和用 BizTalk特有的语言称为X#。
当您右键单击业务流程时,您可以轻松找到这些内容 用XML Editor或Notepad打开它。
Orchestration的XML表示由Graphical使用 设计师在屏幕上显示形状。
X#代码在运行时使用XSharp.exe文件转换为C# 这个C#程序集将被执行。
这个C#文件可以在里面找到 一旦项目出现,\ obj \ Debug \ BizTalk \ Xlang \ File0.cs 建。
所以,这里的c#标签实际上是不正确的,我会认真考虑从你的问题中删除它。
尽管如此,您在BizTalk业务流程中遇到了问题。
我的建议:将一个System.DateTime类型的变量添加到您的业务流程中。
接下来,将您的变量分配给此值:RM(FILE.FileCreationTime).
这将允许您在形状中正确使用if命令。
答案 1 :(得分:1)
迟到 - 但我在寻找同样的答案时偶然发现了这一点。比较BizTalk表达式形状中的两个System.DateTime
对象的方法是使用:
System.DateTime.Compare(DateTime1, DateTime2)
使用> 0, = 0 or < 0
...
在指定的情况下
!(System.DateTime.Compare(RM(FILE.FileCreationTime), System.DateTime.Parse("11:30:00")) > 0)
答案 2 :(得分:0)
尝试:
if (StartDate < EndDate)
// code
如果你想比较日期,而不是时间
if (StartDate.Date < EndDate.Date)
// code