73 votes

Propriétés VB.Net - Public Get, Private Set

Je pensais que je demanderais ... mais existe-t-il un moyen de rendre la partie Get d'une propriété disponible en tant que public, mais de garder l'ensemble comme privé?

Sinon, je pense avoir besoin de deux propriétés ou d'une propriété et d'une méthode, je me suis dit que ce serait plus propre.

129voto

JDunkerley Points 7237

Oui, assez simple:

 Private _name As String

Public Property Name() As String
    Get
        Return _name
    End Get
    Private Set(ByVal value As String)
        _name = value
    End Set
End Property
 

8voto

Dan Points 8469
    Public Property Name() As String
        Get
            Return _name
        End Get
        Private Set(ByVal value As String)
            _name = value
        End Set
   End Property

6voto

AspNyc Points 524

Une astuce supplémentaire à mentionner: je ne sais pas s'il s'agit 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 du bloc de code setter / mutator:

 Private _name As String

Public Property Name() As String
    Get
        Return _name
    End Get
    Private Set
        _name = value
    End Set
End Property
 

-4voto

ChrisG Points 70

Si vous utilisez VS2010 ou une version ultérieure, il est encore plus facile que cela.

 Public Property Name as String
 

Vous obtenez les propriétés privées et Get / Set complètement gratuitement!

voir cet article: le blog de Scott Gu

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X