Hi,
I am trying to find out why i am getting a stack overflow exception. I am creating a simple card game for a school assignment and when i clone the cards to return them i get the stack overflow exception.
So i got this card class:
public class Card : ICloneable
{
....
#region ICloneable Members
public object Clone()
{
return this.Clone(); // <--- here is the error thrown when the first card is to be cloned
}
#endregion
}
and i have a class called hands witch then clones the cards:
internal class Hand
{
internal List<Card> GetCards()
{
return m_Cards.CloneList<Card>(); // m_Cards is a List with card objects
}
}
Last i got a extension method for the List:
public static List<T> CloneList<T>(this List<T> listToClone) where T : ICloneable
{
return listToClone.Select(item => (T)item.Clone()).ToList();
}
The error gets thrown in the card class (IClonable method). "An unhandled exception of type 'System.StackOverflowException' occurred in CardLibrary.dll"