【发布时间】:2011-11-19 01:44:09
【问题描述】:
我尝试实施另一个问题中提出的建议:Stackoverflow question
此处摘录:
public static class StatusExtensions
{
public static IHtmlString StatusBox<TModel>(
this HtmlHelper<TModel> helper,
Expression<Func<TModel, RowInfo>> ex
)
{
var createdEx =
Expression.Lambda<Func<TModel, DateTime>>(
Expression.Property(ex.Body, "Created"),
ex.Parameters
);
var modifiedEx =
Expression.Lambda<Func<TModel, DateTime>>(
Expression.Property(ex.Body, "Modified"),
ex.Parameters
);
var a = "a" + helper.HiddenFor(createdEx) +
helper.HiddenFor(modifiedEx);
return new HtmlString(
"Some things here ..." +
helper.HiddenFor(createdEx) +
helper.HiddenFor(modifiedEx)
);
}
}
实施后,我收到以下我不太了解的异常。异常指向以“var createdEx =”
开头的行System.ArgumentException was unhandled by user code
Message=Expression of type 'System.Nullable`1[System.DateTime]' cannot be used for return type 'System.DateTime'
Source=System.Core
StackTrace:
谁能帮助我并建议我可以做些什么来解决这个异常?
【问题讨论】:
标签: c# datetime lambda expression-trees