Em modelos C ++, pode-se especificar que um determinado parâmetro de tipo é um padrão. Ou seja, a menos que especificado explicitamente, ele usará o tipo T.
Isso pode ser feito ou aproximado em C #?
Estou procurando algo como:
public class MyTemplate<T1, T2=string> {}
Para que uma instância do tipo que não especifica explicitamente T2
:
MyTemplate<int> t = new MyTemplate<int>();
Seria essencialmente:
MyTemplate<int, string> t = new MyTemplate<int, string>();
Em última análise, estou olhando para um caso em que há um modelo que é amplamente usado, mas estou pensando em expandir com um parâmetro de tipo adicional. Eu poderia fazer uma subclasse, eu acho, mas estava curioso se havia outras opções nessa linha.