繁体   English   中英

C#泛型,我做错了什么?

[英]C# Generics, what am I doing wrong?

我是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'转换为非委托类型'对象'。 你打算调用这个方法吗?“,用”@ Model.tasks.Grid“红色加下划线。

有趣的是,视觉工作室编译,一切都很好。 当然,如果我只是这样做

@Model.Products.Grid(grid=>{
...
});

一切都很好。

Razor解析器将<和>解释为普通的HTML标记。 您可以避免在括号中包含调用的问题:

@(Model.Products.Grid<Product>(grid=>{
...
}))

您可以在此处找到其他信息: 如何在Razor视图文件中使用通用语法?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM