En las plantillas de C ++, se puede especificar que un determinado parámetro de tipo sea predeterminado. Es decir, a menos que se especifique explícitamente, utilizará el tipo T.
¿Se puede hacer esto o aproximarlo en C #?
Estoy buscando algo como:
public class MyTemplate<T1, T2=string> {}
De modo que una instancia del tipo que no especifica explícitamente T2
:
MyTemplate<int> t = new MyTemplate<int>();
Sería esencialmente:
MyTemplate<int, string> t = new MyTemplate<int, string>();
En última instancia, estoy viendo un caso en el que hay una plantilla que se usa bastante ampliamente, pero estoy considerando expandirme con un parámetro de tipo adicional. Podría subclase, supongo, pero tenía curiosidad por saber si había otras opciones en este sentido.