In C# I would like to create a generic deck of cards. Enabling me to e.g. Create a stack of cards, a queue of cards or any other collection of cards? Providing that this collection is a derived from IEnumerable.
public class Deck<T> where T : IEnumerable
{
    private T<ICard> __Cards;
    public Deck() : this(52){}
    public Deck(int cards)
    {
        __Cards = new T<Card>(cards);
    }
}
Some other class... calling
Deck<List> _Deck = new Deck<List>();
I get the following error:
The type parameter 'T' cannot be used with type arguments
 
     
    
` instead of just `List`?
– Jon Feb 24 '14 at 21:01