Je viens de récupérer Resharper et j'ai joué sur la conversion de champs en propriétés. Je veux que ces propriétés soient protégées, mais Resharper ne veut pas me donner cette option. Au lieu de cela, il n'y a qu'une option interne protégée. Cela m'a fait réfléchir. Soit il existe une règle quelque part que les propriétés doivent toujours être «protégées internes» plutôt que simplement «protégées». Ou je ne sais pas comment utiliser le resharper. Lequel est-ce? Mise à jour: Contacté Jetbrains eux-mêmes et ils ont identifié ce comportement comme un bug et a soulevé un rapport de bogue. La réponse de Marc est essentiellement correcte sur l'utilisation de 'protected internal' donc il obtient la tique.Propriétés internes protégées contre les propriétés protégées et Resharper
6
A
Répondre
4
Quels sont les champs actuellement? public
? Je me demande si vous avez du code dans d'autres types qui touche déjà les propriétés, et donc casserait si elles étaient justeprotected
. Je ne sais pas comment resharper se sent à ce sujet, mais il n'est pas nécessaire (ou même particulièrement commun) de faire les choses protected internal
- donc devrait être une option raisonnable.
+0
Les champs ont été protégés pour commencer et le code compile bien avec les propriétés comme juste protégées –
Avez-vous déclaré la classe publique? La valeur par défaut est interne. Déclarer les propriétés d'une classe interne comme internes est assez idiot, cela nécessite un outil de refactoring lorsque vous refactorisez pour rendre la classe publique. Bien que cela vous assure de passer de la version de démonstration à la version commerciale. –
Oui - la classe a été déclarée publique. En fait, ce n'était pas au début, mais j'ai créé un projet de test avec juste la classe et volontairement déclaré public. J'ai encore le même problème. –