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
you can also create a class Overload like so
public class MyTemplate { public T1 Prop1 { get; set; } public T2 Prop2 { get; set; } } public class MyTemplate : MyTemplate{}