我试图创建一个扩展,可以切片任何数组类(因为在标准库中奇怪地缺少切片)。例如:C#:扩展中的多个类型参数
public static M Slice<M,T>(this M source, int start, int end) where M : IList<T>
{
//slice code
}
但是,编译此方法并不重视M型的对象(即使它的错误消息,声称这是它正在寻找)。它似乎相当依赖于方法本身的类型参数,例如,以某种方式,但我不完全理解事情是如何工作的。
(是的,我们可以很容易地写,仅仅在名单工作的例子,但我很好奇,如果这甚至有可能。)
是的,对不起,我正在做一个深层复制。否则GetRange是完美的。 – Ender 2009-07-08 02:43:02