今天使用反射器我找到了这一行:
return date.AddDays((double) ((((dayOfWeek < date.DayOfWeek) ? (DayOfWeek.Saturday | DayOfWeek.Monday) : DayOfWeek.Sunday) + dayOfWeek) - date.DayOfWeek));
Run Code Online (Sandbox Code Playgroud)
但编译器抛出错误:
运算符'+'不能应用于'System.DayOfWeek'和'System.DayOfWeek'类型的操作数
任何的想法.
怎么了?
System.DayOfWeek是enum这样的operator +,没有为他们定义.您可以将它们转换为int类型以使其工作.
供参考:http:
//social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/a78e9101-eb84-426b-8bdf-63d9b3bdbece