You cannot do this because T in the generic definition is a type definition, not a real class. I'm not sure what you are trying to achieve, because, in my opinion, your problem can be solved by simple inheritance. If you are trying to add some kind of behavior to your class, then you can just use the general one and get from this:
public class Behavior<T> { ... } public class DerivedBehavior<T> : Behavior<T> { ... }
Lazyoff
source share