在下面的示例中,我收到错误“没有与方法'op_Subtraction'匹配的重载”。传递函数作为F#中的参数
open System
type EmployeeStatus =
| Active
| NotActive
type EnrollmentPeriod =
| JanuaryFirst
| JulyFirst
| PeriodNotApplicable
let DetermineTargettedEnrollmentDate targettedEnrollmentDate (relativeDate : DateTime) =
match targettedEnrollmentDate with
| EnrollmentPeriod.JanuaryFirst -> new DateTime(relativeDate.Year + 1,1,1)
| EnrollmentPeriod.JulyFirst -> new DateTime(relativeDate.Year,7,1)
| EnrollmentPeriod.PeriodNotApplicable -> relativeDate
let ProjectDaysWorkedSinceJan1 employeeStatus targettedEnrollmentPeriod (relativeDate : DateTime) =
let januaryFirst = DateTime(relativeDate.Year,1,1)
let targettedEnrollmentDate = DetermineTargettedEnrollmentDate targettedEnrollmentPeriod
match employeeStatus with
| Active -> int (januaryFirst - targettedEnrollmentDate).TotalDays
| NotActive -> 0
它似乎不喜欢targettedEnrollmentDate
正在由DetermineTargettedEnrollmentDate
函数确定。
我在哪里错了?
哈,这将是是一个很好的例子太接近代码。我一直盯着这个项目很久,我开始怀念这样的东西。感谢您的简洁回答! – Joe 2014-08-27 22:44:14