Я работаю с System.Web.Helpers.WebGrid
в проекте ASP.NET MVC 3 Razor, и мне сложно понять, почему параметр формата для WebGridColumn
- это Func
.
Если я создам такой столбец ...
grid.Column(
format: x => string.Format("{0:d}", x.StartDate)
);
... Я не получаю строгой типизации в свойстве StartDate . Если я попытаюсь обойти это вот так ...
grid.Column(
format: (MyObjectType x) => string.Format("{0:d}", x.StartDate)
);
... Во время выполнения мне скажут, что моя лямбда не может быть приведена к Func
. Есть ли способ использовать здесь нединамическую лямбду? Даже если это просто <объект, объект>
?
(Я использую .NET 4.0, а Func
должен быть контравариантным на T , но я не понимаю, как ковариация и контравариантность работают с динамическими.)