J’ai pensé que je demanderais … mais y a-t-il un moyen d’avoir la partie Get d’une propriété disponible en tant que publique, mais de garder l’ensemble comme privé?
Sinon, je pense que j’ai besoin de deux propriétés ou une propriété et une méthode, juste pensé que ce serait plus propre.
Oui, assez simple:
Private _name As Ssortingng Public Property Name() As Ssortingng Get Return _name End Get Private Set(ByVal value As Ssortingng) _name = value End Set End Property
Je ne suis pas sûr de la version minimale requirejse de Visual Studio, mais dans VS2015, vous pouvez utiliser
Public ReadOnly Property Name As Ssortingng
Il est en lecture seule pour un access public, mais peut être modifié en privé à l’aide de _Name
Public Property Name() As Ssortingng Get Return _name End Get Private Set(ByVal value As Ssortingng) _name = value End Set End Property
Une modification supplémentaire à mentionner: je ne suis pas sûr qu’il s’agisse d’une fonctionnalité .NET 4.0 ou Visual Studio 2010, mais si vous utilisez les deux, vous n’avez pas besoin de déclarer le paramètre value pour le bloc setter / mutator de code:
Private _name As Ssortingng Public Property Name() As Ssortingng Get Return _name End Get Private Set _name = value End Set End Property
Je trouve que le marquage de la property
plus propre que les réponses ci-dessus. Je crois que vb14 est requirejs.
Private _Name As Ssortingng Public ReadOnly Property Name() As Ssortingng Get Return _Name End Get End Property
Cela peut être condensé à
Public ReadOnly Property Name As Ssortingng
https://msdn.microsoft.com/en-us/library/dd293589.aspx?f=255&MSPPError=-2147217396
Si vous utilisez VS2010 ou plus tard, c’est encore plus facile que cela
Public Property Name as Ssortingng
Vous obtenez les propriétés privées et Get / Set complètement gratuitement!
voir ce blog: le blog de Scott Gu