我遇到了一個問題,通過一個簡單的克隆方法來擴展泛型Stack類。這是我的方法:如何擴展在C#中返回泛型值的泛型類?
class Program
{
static void Main(string[] args)
{
Stack<string> myStack = new Stack<string>();
myStack.Push("hello!");
var stackClone = myStack.Clone();
}
}
public static class StackMixin<T>
{
public static Stack<T> Clone<T>(this Stack<T> stackToClone)
{
if (stackToClone == null)
throw new ArgumentNullException();
IEnumerable<T> reversedStackToClone = stackToClone.Reverse<T>();
Stack<T> cloneStack = new Stack<T>(reversedStackToClone);
return cloneStack;
}
}
我得到以下錯誤:
System.Collections.Generic.Stack<string>
does not contain a definition for 'Clone
' and no extension method 'Clone
' accepting a first argument of typeSystem.Collections.Generic.Stack<string>
could be found (are you missing a using directive or an assembly reference?)
我一直在使用Google的溶液或explenation,但已經結束了,沒有運氣。 (這就是我:試過 https://www.google.pl/#q=generic+extension+method+c%23)
變化'公共靜態類StackMixin''到公共靜態類StackMixin' –
我沒有打對... 謝謝! – pizycki
@IlyaBursov - 你應該把你的評論作爲答案。 – Enigmativity