相关疑难解决方法(0)

如何创建通用扩展方法?

我想开发一个通用扩展方法,它应该按字母顺序排列字符串,然后按纵向升序排列.

我的意思是

string[] names = { "Jon", "Marc", "Joel",
                  "Thomas", "Copsey","Konrad","Andrew","Brian","Bill"};

var query = names.OrderBy(a => a.Length).ThenBy(a => a);
Run Code Online (Sandbox Code Playgroud)

开发通用扩展方法的方法是什么?

我试过了 :

public static class ExtensionOperation
    {
        public static T[] AlphaLengthWise<T>(this T[] names)
        {
            var query = names.OrderBy(a => a.Length).ThenBy(a => a);
            return query;
        }
    }
Run Code Online (Sandbox Code Playgroud)

我收到了 :

错误1:T不包含Length的定义

错误2:无法转换System.Linq.IOrderedEnumerableT[].

c# generics

63
推荐指数
3
解决办法
8万
查看次数

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

这应该是一个简单的.

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

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

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

namespace System.Web.Mvc
{
    public static class ViewPageExtensions
    {
        public static string GetDefaultPageTitle(this ViewPage<Type> v)
        {
            return "";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

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

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

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

c# generics asp.net-mvc extension-methods

9
推荐指数
2
解决办法
1万
查看次数

标签 统计

c# ×2

generics ×2

asp.net-mvc ×1

extension-methods ×1