J'ai la fonction suivante qui retourne Le code suivant est sur un bouton mais je reçois " l'opérateur ne peut pas être appliqué em> "Erreur: p> Comment puis-je le réparer? p> p> true code> ou false code>:
6 Réponses :
private void btn33_Click(object sender, EventArgs e)
{
if (ValidateURL())
{
MessageBox.Show("Enter data");
}
}
EDIT:As Cody Gray pointed out, there's no real point in comparing "true" and the value returned by ValidateURL() (ValidateURL() == true). Nobody really does it and it just makes the code longer. When I answered the question, I just quickly copied, pasted and fixed OP's problem and this is why the comparison was there. While absolutely valid, it's not really needed. +1 Cody.
Parfait, content que je puisse aider :)
Peut-être aussi bien d'ajouter une explication de la raison pour laquelle les parenthèses sont requises (par exemple, c'est un appel de méthode) afin que Newbs puisse devenir appris! Les meilleures réponses résolvent le problème mais expliquent également pourquoi le problème s'est produit en premier lieu
Je pense que vous venez de le faire assez bien.
Changez-le à:
if (ValidateURL())
vous voulez
if (ValidateURL() == true)
Changer à p>
Vous avez besoin de parenthèses. Devrait être validateurl () == true code> p>
Une recherche Google de cette erreur m'a conduit ici. Dans mon cas, c'était parce que je faisais référence à une nouvelle propriété dans une page ASP.NET MVC RAZOR. La propriété avait été ajoutée à mon modèle, mais j'avais oublié de compiler le projet. Le compilateur de rasoir n'a pas pu trouver la propriété et supposait que j'essayais de faire référence à une méthode d'extension. p>
Une fois que j'ai compilé, l'erreur s'est effacible. P>
Bien sûr, toutes les autres réponses sont correctes. Mais ils affichent tous des tests du résultat de
validateurl () code> contre letrue code>. Il n'y a vraiment aucune raison de faire cela. Vous pouvez omettre le== true code> tout à fait, vous laissant simplement:si (valideurl ()) {...} code> Le code résultant est beaucoup plus clair et plus simple.