Note: Ceci a été posté quand j'étais débutant en C#. Avec 2014 de connaissances, je peux vraiment dire que l'auto-propriétés sont parmi les meilleurs choses qui soit jamais arrivé à le langage C#.
J'ai l'habitude de créer mes propriétés en C# à l'aide d'un privé et un public champ:
private string title;
public string Title
{
get { return title; }
set { title = value; }
}
Maintenant, avec .NET 3.0, nous nous sommes auto-propriétés:
public string Title { get; set; }
Je sais que c'est plus philosophique/questions subjectives, mais est-il une raison pour l'utilisation de ces auto-propriétés à l'exception de l'enregistrement de cinq lignes de code pour chaque domaine? Mon reproche, c'est que ces propriétés se cachent des trucs de moi, et je ne suis pas un grand fan de la magie noire.
En fait, le caché domaine privé n'a même pas apparaître dans le débogueur, ce qui est normal compte tenu du fait que le get/fonctions de jeu de ne rien faire. Mais quand je veux réellement mettre en œuvre certaines getter/setter logique, je dois utiliser le privé/public paire de toute façon.
Je vois l'avantage que j'ai d'économiser beaucoup de code (un vs six lignes), sans perdre la capacité de changer les getter/setter logique plus tard, mais là encore je peux déjà le faire par le simple fait de déclarer un champ public "Public string Titre" sans la nécessité de l' { get; set; } bloc, donc même sauver plus de code.
Donc, ce qui me manque ici? Pourquoi serait-on réellement envie d'utiliser l'auto-propriétés?