public static class Analysis
{
*//I want to use my extensions methods here. To be more specific,
//I want to do like this:*
// var array = new int[]{1,2,3};
// var newArray = array.MyMethod();
}
public static class IEnumerableExtensions<T>
where T : IComparable
{
public static IEnumerable<Tuple<T, T>> MyMethod(this IEnumerable<T> source)
{
*//here is my method
//yield return .... ;*
}
}
这是我得到的错误:扩展方法必须在非通用静态类中声明。 我希望能够将该方法用于int [],double [],DateTime [] ... 我无法在Analisys类中声明此方法,因为它是非泛型的。
答案 0 :(得分:2)
从类中删除通用参数,并在方法上声明它:
public static class EnumerableExtensions
{
public static IEnumerable<Tuple<T, T>> MyMethod<T>(this IEnumerable<T> source)
where T : IComparable
{
*//here is my method
//yield return .... ;*
}
}