Dans les modèles C ++, on peut spécifier qu'un certain paramètre de type est une valeur par défaut. Sauf indication contraire explicite, il utilisera le type T.
Cela peut-il être fait ou estimé en C #?
Je recherche quelque chose comme:
public class MyTemplate<T1, T2=string> {}
Pour qu'une instance du type qui ne spécifie pas explicitement T2
:
MyTemplate<int> t = new MyTemplate<int>();
Serait essentiellement:
MyTemplate<int, string> t = new MyTemplate<int, string>();
En fin de compte, je regarde un cas dans lequel il existe un modèle assez largement utilisé, mais j'envisage de l'étendre avec un paramètre de type supplémentaire. Je pourrais sous-classer, je suppose, mais j'étais curieux de savoir s'il y avait d'autres options dans cette veine.