首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何为泛型类编写C#扩展方法?

如何为泛型类编写C#扩展方法?
EN

Stack Overflow用户
提问于 2018-08-03 03:51:07
回答 2查看 0关注 0票数 0

我想向System.Web.Mvc.ViewPage<T>类添加一个扩展方法。

这个扩展方法应该是什么样子?

我第一个想法是这样的:

代码语言:txt
复制
namespace System.Web.Mvc
{
    public static class ViewPageExtensions
    {
        public static string GetDefaultPageTitle(this ViewPage<Type> v)
        {
            return "";
        }
    }
}

在特定情况下,很多答案的区别在于需要一个泛型方法声明和一个语句来将泛型类型强制作为引用类型。

EN

Stack Overflow用户

发布于 2018-08-03 12:15:59

这样做会产生错误:

The type 'TModel' must be a reference type in order to use it as parameter 'TModel' in the generic type or method

这让我想到了这个(http://forums.asp.net/p/1311022/2581563.aspx),产生了这样的解决方案:

代码语言:txt
复制
namespace System.Web.Mvc
{
    public static class ViewPageExtensions
    {
        public static string GetDefaultPageTitle<T>(this ViewPage<T> v) 
          where T : class
        {
            return "";
        }
    }
}
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100000494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档