J'ai un code qui ressemble à ceci,C# 4.0 - meilleure façon de refactoriser un bloc de "If (quelquechose est le type) {}" instructions?
public void ResetControls(Control controlOnPage)
{
if (controlOnPage is TextBox)
{
ResetTextBoxControl(controlOnPage);
}
if (controlOnPage is MediaPicker)
{
((MediaPicker)controlOnPage).Media = null;
}
if (controlOnPage is RelatedContentPicker)
{
((RelatedContentPicker)controlOnPage).RelatedContentCollection = null;
}
...
...
foreach (Control child in controlOnPage.Controls)
{
ResetControls(child);
}
}
L'idée sous-jacente est que je peux passer d'une page à la méthode et réinitialiserons récursive tous les contrôles à leurs états par défaut - dans le cas de MediaPicker et RelatedContentPicker, ce sont des contrôles utilisateur que j'ai créés. FXCop m'avertit "Ne pas lancer inutilement" pour ce code - mais je ne sais pas comment le réécrire pour le rendre meilleur. Des idées?
J'ai aimé cette solution, et oui, FXCop l'accepte. –