C#Generics,我做错了什么
本文关键字:错了 什么 C#Generics | 更新日期: 2023-09-27 18:25:31
我是Generics的新手,我不明白为什么以下内容不起作用。
我有一个IEnumerable<T>
的扩展,叫做Grid,它看起来像
public static class IEnumberableGridExtension
{
public static HelperResult Grid<T>(this IEnumerable<T> gridItems, Action<GridView<T>> thegrid)
{
........
}
}
比方说,我的剃须刀模型中有一个变量叫"Products",它是类型List<Product>
,所以我试着做
@Model.Products.Grid<Product>(grid=>{
...
});
它声明"无法将方法组"Grid"转换为非委托类型"object"。您打算调用该方法吗?",带有红色下划线的"@Model.tasks.Grid"。
有趣的是,visual studio编译,一切都很好。当然,如果我只是做
@Model.Products.Grid(grid=>{
...
});
一切都很好。
Razor解析器正在解释<和>作为普通HTML标记。您可以避免将调用包装在括号中的问题:
@(Model.Products.Grid<Product>(grid=>{
...
}))
你可以在这里找到更多信息:如何在Razor视图文件中使用通用语法?