«Это было бы сложно реализовать» Это глупость. Это было бы тривиально реализовать. Работа по проверке типа по ограничениям шаблона не усложняется, потому что тип-кандидат появляется в другом месте, в файле (то есть в шаблоне, а не в его создании).

лонах C ++ можно указать, что определенный параметр типа является значением по умолчанию. То есть если явно не указано, он будет использовать тип T.

Это можно сделать или приблизить в C #?

Я ищу что-то вроде:

public class MyTemplate<T1, T2=string> {}

Так что экземпляр типа, который не указывает явноT2:

MyTemplate<int> t = new MyTemplate<int>();

Было бы по существу:

MyTemplate<int, string> t = new MyTemplate<int, string>();

В конечном счете, я смотрю на случай, когда есть шаблон, который довольно широко используется, но я собираюсь расширить его с помощью дополнительного параметра типа. Я мог бы подкласс, я думаю, но мне было любопытно, если бы были другие варианты в этом ключе.

Ответы на вопрос(5)

Ваш ответ на вопрос