2017-01-27 6 views
-2

j'ai le code C# suivant:modificateurs d'accès propriété avec setters et getters

class C 
{ 
    public int A { get; private set; } 
} 

Comment le modificateur d'accès placé avant le type de propriété et le nom (dans cet exemple « public ») en rapport avec les modificateurs d'accès spécifiés pour les getters et les setters?

+0

plus d'informations ici: https://msdn.microsoft.com/fr-fr/library/75e8y5dd.aspx – KSib

Répondre

4

Cela signifie que getter de cette propriété est public, mais setter est private - vous pouvez lire cette propriété en dehors des cours ou de montage, mais vous pouvez le régler seulement à l'intérieur de la classe de cette propriété est déclarée.

Si vous ne spécifiez pas de modification pour getter ou setter alors ils auront modificateur avant le nom de la propriété:

protected int Value {get; set;} 

Cela signifie que vous pouvez lire et écrire cette propriété seulement à l'intérieur de cette classe ou des classes qui hériteront de cette un - getter et setter ont le modificateur protected.

Vous pouvez restreindre getter ou setter de la propriété pour vos besoins mais modificateur de getter ou setter devrait être plus stricte que modificateur avant le nom de la propriété.

De même, vous ne pouvez pas restreindre à la fois getter et setter car, dans ce cas, le modificateur précédant le nom de la propriété n'aura aucune signification. Vous pouvez restreindre seulement getter ou seulement setter.