Just put the inheritance clause before the generic type constraint. This will be more readable, IMO, if the restriction is on a separate line.
public abstract class Class2 { } public abstract class Class1<T> : Class2 where T : SomeBaseClass, new() { }
source share