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 :

Surcharger un opérateur


Sujet :

C#

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 61
    Points : 121
    Points
    121
    Par défaut Surcharger un opérateur
    Bonjour,
    je souhaite définir une surcharge d'opérateur dont les 2 opérandes sont basées sur une énumération. Cet opérateur doit me retourner un boolean.

    L'idée est de faire un AND logique/binaire et de tester si le résultat de cette opération contient au moins 1 bit actif, soit en d'autres termes si son 'int' équivalent est non nul.

    Dans le même style d'idée, l'opérateur "==" effectue une comparaison d'égalité et renvoie un boolean. Là, je veux tester si un bit particulier est actif.

    Le hic est que je me prend une erreur que je ne comprend pas...

    Tout est repris dans 'test.cs'.

    Merci d'avance pour l'aide.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre émérite
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Points : 2 424
    Points
    2 424
    Par défaut
    bonjour;

    tu ne peux pas surcharger les opérateurs pour une enumerations ,il est possible seulement pour les classes et les structures.

    dans ton code tu surcharge l’opérateur == pour la Programm non pas pour
    enumeration.

    mais tu peux utiliser une structure si tu a vraiment besoin de surcharger les opérateurs
    voila un exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    public struct SizeType
    {
        private int InternalValue { get; set; }
     
        public static readonly int Small = 0;
        public static readonly int Medium = 1;
        public static readonly int Large = 2;
        public static readonly int ExtraLarge = 3;
     
        public override bool Equals(object obj)
        {
            SizeType otherObj = (SizeType)obj;
            return otherObj.InternalValue.Equals(this.InternalValue);
        }
     
        public static bool operator >(SizeType left, SizeType right)
        {
            return (left.InternalValue > right.InternalValue);
        }
     
        public static implicit operator SizeType(int otherType)
        {
            return new SizeType
            {
                InternalValue = otherType
            };
        }
    }
     
    public class test11
    {
        void myTest()
        {
            SizeType smallSize = SizeType.Small;
            SizeType largeType = SizeType.Large;
            if (smallSize > largeType)
            {
                Console.WriteLine("small is greater than large");
            }
        }
    }

Discussions similaires

  1. [C#] Tri d'objet et surcharge d'opérateur
    Par Royd938 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 17/12/2007, 00h26
  2. Petit probléme de surcharge d'opérateur .
    Par Clad3 dans le forum C++
    Réponses: 20
    Dernier message: 11/04/2005, 20h15
  3. Problème de surcharge d'opérateurs
    Par Hell dans le forum C++
    Réponses: 17
    Dernier message: 17/01/2005, 16h01
  4. Cumul de surcharges d'opérateurs
    Par Nats dans le forum C++
    Réponses: 2
    Dernier message: 11/10/2004, 13h37
  5. [VB .NET] Surcharge d'opérateur
    Par Franckintosh dans le forum VB.NET
    Réponses: 2
    Dernier message: 07/09/2004, 19h05

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