[c#] What does "where T : class, new()" mean?