Je viens de tombé sur ce dans un code C# ...:Comment puis-je rendre une propriété publique get mais private dans vb.net?
public Foo Foo { get; private set; }
Comment puis-je faire la même chose en vb?
Je viens de tombé sur ce dans un code C# ...:Comment puis-je rendre une propriété publique get mais private dans vb.net?
public Foo Foo { get; private set; }
Comment puis-je faire la même chose en vb?
Bien sûr (front relents) ...:
Public Property Foo() As Foo
Get
...
End Get
Private Set(ByVal value As Foo)
...
End Set
End Property
Je ne pensais pas à mettre le mot-clé privé là-bas ...
VB.NET n'a pas de propriétés automatiques comme C# 3.0 Est-ce que. En VB l'équivalent serait:
Private _Foo As SomeType
Public Property Foo() As SomeType
Get
Return _Foo
End Get
Private Set(ByVal value As SomeType)
_Foo = value
End Set
End Property
Comme @ em70 a fait allusion à dans sa réponse, notez que ce n'est pas tout à fait la même chose. Get/Set avec différents niveaux d'accès dans VB.NET ne fonctionne qu'avec un champ de sauvegarde, alors que la version C# n'a pas besoin de champ de sauvegarde, voir [Définitions de propriété qui nécessitent une syntaxe standard sur MSDN] (https://msdn.microsoft. com/en-us/library/dd293589.aspx # Anchor_2) – jrh