Bonjour à tous,

Je suis débutant en C#, pour pratiquer, j'ai donc essayer de modéliser un rectangle avec quatre points que l'on set manuellement. Puis on get la hauteur et la largeur du rectangle.

Voici le code que j'ai pondu:

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
 
        static void test1()
        {
            Rectangle surface1 = new Rectangle();
 
            surface1.coin[0].x = 0;
            surface1.coin[0].y = 0;
            surface1.coin[1].x = 0;
            surface1.coin[1].y = 2;
            surface1.coin[2].x = 3;
            surface1.coin[2].y = 2;
            surface1.coin[3].x = 3;
            surface1.coin[3].y = 0;
 
            Console.WriteLine(surface1.hauteur);
            Console.WriteLine(surface1.largeur);
        }
Puis les class :

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
 
    class Rectangle
    {
        public CoordonneesPoint[] coin = new CoordonneesPoint[3];
 
        public int hauteur
        {
            get
            {
                return coin[1].y - coin[0].y;
            }
        }
 
        public int largeur
        {
            get
            {
                return coin[3].x - coin[0].x;
            }
        }
 
    }
 
    class CoordonneesPoint
    {
        public int x;
        public int y;
    }
Et voici le message d'erreur quand je lance le programme :

La référence d'objet n'est pas définie à une instance d'un objet.
Sur la ligne 6...

Pourtant, surface1 est bien une instance de l'objet Rectangle ? Et coin[0] une instance de l'objet CoordonneesPoint ?
Je pense qu'il y a quelque chose que je ne saisie pas... Quelqu'un pourrait t'il m'aider ?