Comment accéder aux variables privées à l'aide de { get; set; }
Je voudrais créer une classe pour mon site avec beaucoup de variable privée.
Je pensais qu'il y avait une solution à ne pas écrire tous les getters et setters pour chaque variable, quelque chose comme
private int confirmed { get; set; }
Est-ce la bonne manière? Et puis, comment puis-je accéder à cette valeur à partir de l'extérieur de la classe?
J'ai essayé .confirmed
, je reçois le message d'erreur disant que c'est le privé (ce que je comprends)
Mais le plus surprenant, .getConfirmed()
ou getconfirmed()
ne marche pas non plus.
Je pensais que le { get; set; }
serait de créer implicitement ces méthodes.
Quelqu'un peut clarifier cette préoccupation pour moi, s'il vous plaît?
voir les méthodes appelées getconfirmed est java chose que je pense, c'est pourquoi il n'est pas surprenant de ne pas les voir .net.
OriginalL'auteur Krowar | 2014-01-23
Vous devez vous connecter pour publier un commentaire.
Vous pouvez déclarer vos biens publics, puis marquer les getter et setter individuellement privé:
De cette façon, vous pouvez accéder à
confirmed
à l'extérieur de votre classe définie par:Et le seul qui peut définir la valeur de
confirmed
est alors Maclasse:OriginalL'auteur CodingIntrigue
Vous devez comprendre que,
sera élargi à un ensemble de
private
méthodes avec unprivate
champ de stockage,Ainsi, le marquage de la propriété
private
rend à la fois l'accès et le mutateur aussi privés, c'est pourquoi vous ne pouvez y accéder en dehors de la classe. Aussi, ces méthodes ne sont pas accessibles au moment de la compilation, afin de l'appelantinstance.confirmed_get()
n'est pas permis, seulementinstance.confimed
à la fois à lire et à écrire à la propriété.Ce que vous voulez est de la déclarer
public
,où le comportement est similaire (le champ est encore
private
), mais les deux méthodes sont maintenantpublic
. Comme d'autres l'ont mentionné que vous pouvez modifier individuellement lesget
etset
pourreadonly
ouwriteonly
type de comportement,ou
Et une dernière chose, vous devriez prendre l'habitude d'utiliser un chameau cas pour les propriétés, par exemple
Confirmed
et basse camel cas pour les champs, par exempleconfirmed
(certains pourraient même faire_confirmed
). Il est un populaire des conventions de nommage pour distinguer les deux types, en particulier pour les consommateurs de la classe.OriginalL'auteur rae1
Vous ne peut pas (sans réflexion formulaire le code de confiance). Ils sont privé. Si vous voulez le getter publics, mais la setter privé alors ne
Il fait, mais ils ne sont pas accessibles au moment de la conception.
OriginalL'auteur D Stanley
Viens de le faire si vous voulez l'obtenir à partir de l'extérieur de la classe.
ou vous pouvez aller dans cette voie:
OriginalL'auteur DROP TABLE users
Il y a plusieurs façons d'effectuer une telle action. En fonction de vos besoins, vous pouvez choisir une méthode de ci-dessous:
OriginalL'auteur singhsac