В шаблонах C ++ можно указать, что определенный параметр типа является значением по умолчанию. Т.е., если явно не указано иное, будет использоваться тип T.
Можно ли это сделать или приблизить на C #?
Я ищу что-то вроде:
public class MyTemplate<T1, T2=string> {}
Таким образом, экземпляр типа, который явно не указывает T2
:
MyTemplate<int> t = new MyTemplate<int>();
Было бы по существу:
MyTemplate<int, string> t = new MyTemplate<int, string>();
В конечном итоге я рассматриваю случай, когда существует довольно широко используемый шаблон, но я рассматриваю возможность расширения с помощью дополнительного параметра типа. Думаю, я мог бы создать подкласс, но мне было любопытно, есть ли другие варианты в этом ключе.