Voici un code que j'ai teste:

1)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
private int login
        {
           public get
            {
                return login;
            }
            public set
            {
                login = value;
            }
        }
Je pensais pouvoir accéder et setter la valeur login grace au get et au set en public, mais je me rends compte que non, et qu'il faut ecrire le code suivant:

2)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
private int _login;
 
public int login
        {
           get
            {
                return _login;
            }
            set
            {
                _login = value;
            }
        }
3) ou a partir de c# 3 semble-t-il:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
public int login {get; set;}

Voici ma question:

Puisque le code 1) qui compile ne permet pas d'acceder au setteur ni au getteur qui sont pourtant public, que le code 2) déclare 2 fois plus de variables que nécessaire, et que le code 3 ne déclare rien en private (pas terrible pour le respect du principe d'encapsualtion), je commence a me demander s'il n'est pas plus simple de tout simplement faire comme cela:

Comment utilisez vous les get et set en c# et comment le justifiez vous?