Bonjour,

Je suis entrain d'implementer une methode qui est censée ramener plusieurs 'int'.
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
public class ScoreCard
    {
        public int residentialscore;
        public int maritalscore;
        public int agescore;
        public int personalscore;
 
        public ScoreCard()
        {
        }
 
        [Flags]
        public enum resStatus
        {
            owner_with_mortgage = 10,
            owner_with_no_mortgage = 40,
            renting = 10,
            living_with_parents = 20
        }
 
        [Flags]
        public enum marStat
        { 
            single	= 10,
            married = 30,
            seperated =	10,
            divorced =	0,
        }
 
        public int SetScore(string res, string mar, out int score )
        {
 
           try
           {
               if (res == Convert.ToString(resStatus.owner_with_mortgage))
               {
                    int r = (int)resStatus.owner_with_mortgage;
                    residentialscore = r;
                }
                if (res == Convert.ToString(resStatus.renting))
                {
                    int r = (int)resStatus.renting;
                    residentialscore = r;
                }
                if (res == Convert.ToString(resStatus.living_with_parents))
                {
                    int r = (int)resStatus.living_with_parents;
                    residentialscore = r;
                }
                if (res == Convert.ToString(resStatus.owner_with_no_mortgage))
                {
                    int r = (int)resStatus.owner_with_no_mortgage;
                    residentialscore = r;
                }
                if (mar == Convert.ToString(marStat.single))
                {
                    int m = (int)marStat.single;
                    maritalscore = m;
                }
                if (mar == Convert.ToString(marStat.married))
                {
                    int m = (int)marStat.married;
                    maritalscore = m;
                }
                if (mar == Convert.ToString(marStat.seperated))
                {
                    int m = (int)marStat.seperated;
                    maritalscore = m;
                }
 
               personalscore= score = residentialscore + maritalscore;
            }
            finally
            {
            } return score;
        }
 
    }
Le probleme c'est que le compilateur ne passe dans l'enum que si la valeur de mar = divorced ou married.
d'ailleurs je vois que pour 'single' et 'seperated', la valeur n'est as numérique mais 'single',
alors que pour married quand je passe la souris sur marsStat.married, je vois 30.
Est-ce que vous voyez ou est l'erreur ?
Je me demande meme si c'est possible de traiter deux parametres sur deux enum differentes dans la meme methode

Merci d'avance