In C++ templates, one can specify that a certain type parameter is a default. I.e. unless explicitly specified, it will use type T.
Can this be done or approximated
C# does not support such a feature.
As you said, you can subclass it (if it's not sealed, and duplicate all constructor declarations) but it's a completely different thing.