2017-09-11 2 views
0

Existe-t-il un moyen d'implémenter uniquement setter et de continuer à utiliser raccourci (get;) pour getter dans C# ou d'une autre manière?Développer uniquement setter et utiliser raccourci pour getter C#

Par exemple: la conversion email en minuscules en Réglage-

public string Email { get; set { Email = value.ToLower(); } } 

Peut-on faire en aucune façon?

+0

Tout simplement, non vous ne pouvez pas. Vous devez choisir entre autoimplementation 'get; set;' ou l'implémenter manuellement en utilisant un backingfield. – CSharpie

+0

Boucle infinie sur le réglage Email. Vous devez utiliser une variable de propriété privée pour le transformer. – Darren

Répondre

3

Non, vous ne pouvez pas. La syntaxe de la propriété auto crée un champ caché que vous ne pouvez pas accéder à partir du code, de sorte que vous ne pouvez pas définir le champ même si la syntaxe ci-dessus serait valide, qu'il ne

Version Shortest en utilisant la dernière C# serait

private string _Email  
public string Email { get => _Email; set => _Email = value.ToLower(); }