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