10

null または Datetime のいずれかになる DateTime 変数があります。null 許容の DateTime 型が機能すると考えましたが、エラーが表示されます。

Nullable<DateTime>AddDays の定義がありません

. このエラーを解決する方法はありますか?

DateTime? lastInvite = (DateTime?)Session["LastInviteSent"];

if ((string)Session["InviteNudgeFlag"] == "False" && ((lastInvite == null && DateTime.Now >= AcctCreation.AddDays(7)) || (int)Session["InviteCount"] > 0 && DateTime.Now >= lastInvite.AddDays(7)))
{
   // Non important code here
}
4

4 に答える 4

42

「値」プロパティを通過する必要があります。

lastInvite.Value.AddDays(7)

DateTime が実際に null の場合、例外がスローされることに注意してください。幸いなことに、これをテストするために使用できる別のプロパティ「HasValue」があります。

if (lastInvite.HasValue){ /* code */ }
于 2013-08-29T18:56:12.723 に答える
0

typeのドキュメントをNullable<T>見ると、いくつかのメンバーしかないことがわかります。コンテナに値がある場合、ValueメンバーはT内部を取得します。Nullable<T>は、ラップNullable<T>する型からメンバーを借用しません。T

于 2013-08-29T18:59:35.153 に答える