0

今日、リフレクターを使用して、次の行を見つけました。

 return date.AddDays((double) ((((dayOfWeek < date.DayOfWeek) ? (DayOfWeek.Saturday | DayOfWeek.Monday) : DayOfWeek.Sunday) + dayOfWeek) - date.DayOfWeek));

しかし、コンパイラはエラーをスローしています:

演算子 '+' は、タイプ 'System.DayOfWeek' および 'System.DayOfWeek' のオペランドには適用できません

何か案が。

なにが問題ですか?

4

3 に答える 3

5

System.DayOfWeekenumsoはoperator +定義されていません。intそれらを型にキャストして機能させることができます。

参考:
http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/a78e9101-eb84-426b-8bdf-63d9b3bdbece

于 2013-05-09T07:42:06.920 に答える
1

DayfWeek+のオーバーロード演算子がないだけです。

はいenum、最後は数値型ですが、数学演算を実行する前に、具体的な数値型にキャストする必要があります。

于 2013-05-09T07:42:29.663 に答える
0

「DayOfWeek.Sunday」を Number First に変換する必要があります。(Int32)DayOfWeek.Sunday など

于 2013-05-09T07:43:55.190 に答える