当前位置:  开发笔记 > 编程语言 > 正文

你如何为一般类型的类编写C#扩展方法

如何解决《你如何为一般类型的类编写C#扩展方法》经验,为你挑选了2个好方法。

这应该是一个简单的.

我想在System.Web.Mvc.ViewPage 类中添加一个扩展方法.

这个扩展方法应该怎么样?

我的第一个直觉思想是这样的:

namespace System.Web.Mvc
{
    public static class ViewPageExtensions
    {
        public static string GetDefaultPageTitle(this ViewPage v)
        {
            return "";
        }
    }
}

一般解决方案是这个答案.

扩展System.Web.Mvc.ViewPage类的具体解决方案是我的答案,从一般解决方案开始.

不同之处在于,在特定情况下,您需要一般类型化的方法声明和一个声明来强制泛型类型作为引用类型.



1> David Thibau..:

我没有在我当前的机器上安装VS,但我认为语法是:

namespace System.Web.Mvc
{
    public static class ViewPageExtensions
    {
        public static string GetDefaultPageTitle(this ViewPage v)
        {
            return "";
        }
    }
}



2> Matt Mitchel..:

谢谢leddt.这样做会产生错误:

类型'TModel'必须是引用类型才能在泛型类型或方法中将其用作参数'TModel'

这让我想到了这个页面,它产生了这个解决方案:

namespace System.Web.Mvc
{
    public static class ViewPageExtensions
    {
        public static string GetDefaultPageTitle(this ViewPage v) 
          where T : class
        {
            return "";
        }
    }
}

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有