Bonjour à tous,

dans mon projet j'ai une classe Joueur en Private

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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.ObjectModel;
using System.ComponentModel;
 
namespace LottoVerification
{
    class Joueur : INotifyPropertyChanged
    {
        XmlReader reader = new XmlReader();
 
        private bool continuer;
        private string nom;
        private int id;
        private readonly ObservableCollection<NumeroLotto> numeros = new ObservableCollection<NumeroLotto>();
 
        public ObservableCollection<NumeroLotto> Numeros
        {
            get
            {
                return numeros;
            }
        }
 
        public int Id
        {
            get
            {
                return id;
            }
            set
            {
                id = value;
 
            }
        }
 
        public Joueur(string p_nom, int p_num1, int p_num2, int p_num3, int p_num4, int p_num5, int p_num6)
        {
            id = reader.GetAvailableId();
            nom = p_nom;
            numeros.Add(new NumeroLotto(p_num1, false));
            numeros.Add(new NumeroLotto(p_num2, false));
            numeros.Add(new NumeroLotto(p_num3, false));
            numeros.Add(new NumeroLotto(p_num4, false));
            numeros.Add(new NumeroLotto(p_num5, false));
            numeros.Add(new NumeroLotto(p_num6, false));
        }
 
        public Joueur()
        {
            id = reader.GetAvailableId();
            nom = "";
            numeros.Add(new NumeroLotto());
            numeros.Add(new NumeroLotto());
            numeros.Add(new NumeroLotto());
            numeros.Add(new NumeroLotto());
            numeros.Add(new NumeroLotto());
            numeros.Add(new NumeroLotto());
        }
 
        public string Nom
        {
            set
            {
                nom = value;
                continuer = true;
 
                if (String.IsNullOrEmpty(value))
                {
                    continuer = false;
                    throw new ApplicationException();
                }
                if (PropertyChanged != null)
                {
                    PropertyChanged(this, new PropertyChangedEventArgs("Nom"));
                }
            }
            get
            {
                return nom;
            }
        }
 
        public bool Continuer
        {
            get
            {
                return continuer;
            }
            set
            {
                continuer = value;
            }
        }
 
        public void trierNumeros()
        {
            NumeroLotto numTmp = new NumeroLotto();
 
            for (int i = 0; i < 6; i++)
            {
                for (int j = 0; j < 6; j++)
                {
                    if (i != j)
                    {
                        if (this.numeros[i].Numero < this.numeros[j].Numero)
                        {
                            numTmp = this.numeros[i];
                            this.numeros[i] = this.numeros[j];
                            this.numeros[j] = numTmp;
                        }
                    }
                }
            }
 
        }
 
        public event PropertyChangedEventHandler PropertyChanged;
    }
}
et un formulaire qui me permet d'ajouter ces joueurs à un fichier XML.
Seulement j'aimerais utiliser le formulaire d'Ajout pour faire de la modification.

j'ai donc deux constructeur dans ma classe AjoutJoueur
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
 
        public AjoutJoueur( ) /*Ajout*/
        {
            InitializeComponent();
            joueur = new Joueur("", 1, 2, 3, 4, 5, 6);
            this.DataContext = joueur;
            listNud.DataContext = joueur.Numeros;
        }
 
        public AjoutJoueur( Joueur p_joueur ) /*Modification*/
        {
            InitializeComponent();
            Joueur joueur = p_joueur;
            this.DataContext = joueur;
            listNud.DataContext = joueur.Numeros;
        }
le deuxième constructeur possède donc en argument le joueur que je veux modifier.
mais j'ai cette erreur sur le second constructeur

Inconsistent accessibility: parameter type 'LottoVerification.Joueur' is less accessible than method 'LottoVerification.AjoutJoueur.AjoutJoueur(LottoVerification.Joueur)
est ce dû au fait que ma classe Joueur est en private?
Est ce qu'il y a une autre solution que de mettre tout en public?

Merci