J'essaie d'écrire une instruction de commutation qui saisit le terme recherché dans le champ de recherche en fonction de la zone de texte de recherche présente. J'ai le code suivant. Mais je reçois une erreur "Control cannot fall through from one case label".
switch (searchType)
{
case "SearchBooks":
Selenium.Type("//*[@id='SearchBooks_TextInput']", searchText);
Selenium.Click("//*[@id='SearchBooks_SearchBtn']");
case "SearchAuthors":
Selenium.Type("//*[@id='SearchAuthors_TextInput']", searchText);
Selenium.Click("//*[@id='SearchAuthors_SearchBtn']");
}
Le contrôle ne peut pas tomber d'une étiquette de cas (
case "SearchBooks":
) à un autreLe contrôle ne peut pas tomber d'une étiquette de cas (
case "SearchAuthors":
) à un autre
0 votes
Je viens de réaliser à quel point une déclaration de commutation serait plus belle si nous n'avions pas à mettre
break;
là-dedans. C'est un horrible artefact du passé.0 votes
Parfois, il faut regrouper plusieurs cas et les traiter de la même manière ! La fonction Falling Through est très utile dans ces cas-là.
0 votes
@stackoverblown certainement, mais c'est une sorte de cas spécial que le compilateur pourrait être assez intelligent pour comprendre. De toute façon, nous sommes coincés avec ça !