public static string FullName => $"{Name} {Surname}";
3 Réponses :
Si vous ne souhaitez pas déplacer FullName
sous d'autres, je pense que c'est la seule solution pour vous.
public static class SomeRegexConsts { static SomeRegexConsts(){ FullName = $"{Name} {Surname}"; } public static readonly string FullName; private static readonly string Name = "[A-Z][a-z]+"; private static readonly string Surname = "[A-Z][a-z]+";
Qu'en est-il de la création d'une méthode publique qui renvoie la chaîne FullName?
public string getFullname() { return $"{Name} {Surname}"; }
De cette façon, public static readonly string FullName = $ "{Name} {Nom}";
, si vous pouvez vous en débarrasser, ne le sera pas nécessaire.
oui, mais cela ajoute une autre invocation de méthode pour quelque chose qui ne changera pas
Je pense que cela fonctionnerait avec StyleCop car il nécessite const
avant les champs de tout type:
public static class SomeRegexConsts { private const string Name = "[A-Z][a-z]+"; private const string Surname = "[A-Z][a-z]+"; public static readonly string FullName = $"{Name} {Surname}"; }
sauf si vous utilisez la réflexion dans la classe qui nécessite un champ non-const, le code compilé ne devrait pas être affecté.
J'espère que ce n'est qu'un exemple simplifié, car ces modèles de regex ne correspondent pas aux noms du monde réel.
Oh, oui, c'est simplifié. La regex réelle est beaucoup plus longue mais ce n'est pas un sujet de cette question
Vous vous rendez compte qu'il existe des noms dont les lettres ne sont pas comprises entre
A-Z
?Oui, mais vous ne réalisez probablement pas que j'ai déjà répondu à cette question :)
Qui lit les commentaires? Désolé, de poser à nouveau la même question. :)
Aucun problème. Juste pour garder ces questions à l'écart, j'ai changé les expressions rationnelles :)
J'ai annulé, car votre modification est plus déroutante que d'aider. A mon humble avis
Désolé pour la réédition - J'étais confus et j'ai d'abord pensé "Je n'ai pas enregistré mes modifications"