using System;
using System.Collections.Generic;
public interface IMyThing {}
public class Foo : IMyThing {}
public class Baa : IMyThing {}
public class Stuff<T> where T : IMyThing {}
public class Program
{
public static void Main()
var stuff = new List<Stuff<IMyThing>>
new Stuff<Foo>(),
new Stuff<Baa>()
};
}