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