Pretty much what @Lars already said:
//Force T to be a value (primitive) type.
public class Class1 where T: struct
//Force T to be a reference type.
public class Class1 where T: class
//Force T to be a parameterless constructor.
public class Class1 where T: new()
All work in .NET 2, 3 and 3.5.