Ce qui suit ne compile pasGénériques: les contraintes sur les types nullables
public static T Retrieve<T>(this NameValueCollection collection, String key) where T : Object
{
if (collection.AllKeys.Contains(key))
{
try
{
val = (T)Convert.ChangeType((object)collection[key], typeof(T));
}
catch { }
}
return val;
}
parce que la contrainte ne peut pas être la classe d'objet. Donc, y a-t-il un moyen de contraindre T pour tout ce qui peut être mis à zéro?
Une chose à réaliser est que lorsque T: l'objet signifie que T n'a pas de contrainte. ValueTypes sont des sous-classes de Object. La réponse de Rex M est ce que vous voulez. –