Existe un enfoque razonable para los parámetros de tipo "predeterminado" en C # Generics?

En las plantillas de C ++, se puede especificar que un determinado parámetro de tipo es un valor predeterminado. Es decir. a menos que se especifique explícitamente, utilizará el tipo T.

¿Se puede hacer esto o aproximar en C #?

Estoy buscando algo como:

public class MyTemplate<T1, T2=string> {}

Entonces, una instancia del tipo que no especifica explícitamenteT2:

MyTemplate<int> t = new MyTemplate<int>();

Sería esencialmente:

MyTemplate<int, string> t = new MyTemplate<int, string>();

Finalmente, estoy viendo un caso en el que hay una plantilla que se usa bastante, pero estoy considerando expandirme con un parámetro de tipo adicional. Supongo que podría subclasificar, pero tenía curiosidad por saber si había otras opciones en este sentido.

Respuestas a la pregunta(5)

Su respuesta a la pregunta