Je suis en train de faire une méthode FindControl générique et je reçois l'erreur suivante:Impossible de convertir le type « System.Windows.Forms.Control » « T »
ne peut pas convertir type « System.Windows.Forms. contrôle » 'T'
code:
public T Control<T>(String id)
{
foreach (Control ctrl in MainForm.Controls.Find(id, true))
{
return (T)ctrl; // Form Controls have unique names, so no more iterations needed
}
throw new Exception("Control not found!");
}
Quelle valeur passez-vous pour 'T' lorsque vous appelez cette méthode? – Jamiec
@Jamiec: cela n'a pas vraiment d'importance pour le compilateur, à moins que vous * disiez * que T sera toujours un 'Control' sur lequel il ne peut pas s'appuyer, que vous passiez toujours ou non a 'Control' ... –
(Hors-sujet :) Pensez à lancer une exception d'un type plus spécifique, peut-être' KeyNotFoundException' (à partir de l'espace de noms 'System.Collections.Generic'). – stakx