IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Erreur de compilation (btn radio) : Only assignement


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de tssi555
    Analyse système
    Inscrit en
    Juillet 2008
    Messages
    594
    Détails du profil
    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juillet 2008
    Messages : 594
    Par défaut Erreur de compilation (btn radio) : Only assignement
    Bonjour,

    J'effectue un test puis je change la valeur de mon bouton radio.
    le code utilisé est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (string.IsNullOrEmpty(Properties.Settings.Default.treatement = "D"))
       {
            this.optImport.Checked == true;
       }
    à l'intérieur des accolades, la ligne de code est souligné en bleu et j'ai l'erreur suivante lors de la compilation :
    Only assignment, call, increment, decrement, and new object expressions can be used as a statement
    Avez vous une idée ?

    D'avance merci.

  2. #2
    Membre Expert Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Par défaut
    == est un opérateur de comparaison, c'est donc logique, tu n'as aucune "action" dans ton bloc.

    L'affectation se fait avec l'opérateur =.

    D'ailleurs, ceci n'a pas beaucoup de sens :

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    string.IsNullOrEmpty(Properties.Settings.Default.treatement = "D")

  3. #3
    Membre éclairé Avatar de tssi555
    Analyse système
    Inscrit en
    Juillet 2008
    Messages
    594
    Détails du profil
    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juillet 2008
    Messages : 594
    Par défaut
    Merci pour ta réponse rapide.

    Ok, c'est ça marche.

    Sinon, pour la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string.IsNullOrEmpty(Properties.Settings.Default.treatement = "D")
    J'ai l'erreur suivante
    Cannot implicitly convert type 'string' to 'bool'
    quand j'enlève


  4. #4
    Membre Expert Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Par défaut
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    string.IsNullOrEmpty(Properties.Settings.Default.treatement = "D")
    Littéralement, ça donne :
    Est-ce que mon string que je viens d'affecter à "D" est nul ou vide ?
    La réponse sera toujours false.

    Et si tu enlève le string.IsNullOrEmpty tu essayes de tester le retour de ton affection, à savoir un string. Mais tester un string seul n'a pas de sens non plus, alors qu'un if attend un booléen, d'où la réponse du compilateur :
    Citation Envoyé par Compilateur
    Cannot implicitly convert type 'string' to 'bool'
    Que veux-tu faire en réalité ?
    Si tu veux tester que ton traitement vaut "D" (en admettant que la casse n'importe pas), il faut faire cela :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    if (Properties.Settings.Default.treatement.Equals("D", StringComparison.CurrentCultureIgnoreCase)) { ... }

  5. #5
    Membre éclairé Avatar de tssi555
    Analyse système
    Inscrit en
    Juillet 2008
    Messages
    594
    Détails du profil
    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juillet 2008
    Messages : 594
    Par défaut
    Merci beaucoup Er3van.

    Il parait que j'ai sous estimé la migration VB.NET --> C#.
    Je développais à l'époque en VB.NET et ce genre de petits ennuies de rigueur ne se posait pas.

  6. #6
    Membre Expert Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Par défaut
    Une raison de plus de choisir C# pour démarrer le développement afin de bien comprendre ce que l'on fait ! (Encore faut-il avoir le choix...)

Discussions similaires

  1. Erreur de compilation après modification du Uses
    Par DevelOpeR13 dans le forum Langage
    Réponses: 5
    Dernier message: 30/10/2007, 14h23
  2. Réponses: 2
    Dernier message: 23/09/2003, 14h32
  3. Réponses: 10
    Dernier message: 22/09/2003, 21h58
  4. Réponses: 4
    Dernier message: 27/08/2003, 21h34
  5. Réponses: 2
    Dernier message: 04/03/2003, 23h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo