2010-07-24 12 views
3

J'aimerais disposer d'un "Setter" privé ou protégé pour une propriété qui est également un résumé (MustOverride). Je porte du code de C# vers VB et en C# c'est assez simple. En VB pas tellement (pour moi quand même).Jeu privé ou protégé pour une propriété MustOverride

Certains code ...

En C# ...

public abstract class BaseClassWithAnAbstractProperty 
{ 
    public abstract int AnAbstractIntegerProperty { get; protected set; } 
} 

public class Foo : BaseClassWithAnAbstractProperty 
{ 
    private int _anAbstractIntegerPropertyField = 0; 

    public override int AnAbstractIntegerProperty 
    { 
     get { return _anAbstractIntegerPropertyField; } 
     protected set { _anAbstractIntegerPropertyField = value; } 
    } 
} 

En VB ...

Public MustInherit Class BaseClassWithAnAbstractProperty 

    Public MustOverride Property AnAbstractIntegerProperty() As Integer 

End Class 

Public Class Foo 
    Inherits BaseClassWithAnAbstractProperty 

    Private _anAbstractIntegerPropertyField As Integer 


    Public Overrides Property AnAbstractIntegerProperty As Integer 
     Get 
      Return _anAbstractIntegerPropertyField 
     End Get 
     Protected Set(ByVal value As Integer) 
      _anAbstractIntegerPropertyField = value 
     End Set 
    End Property 
End Class 

La question semble être l'incapacité de étoffent Get/Définir les détails dans la déclaration.

Est-ce que je chasse un fantôme?

+0

double possible de [ Protégé dans VB.Net pour une propriété définie dans une interface] (http://stackoverflow.com/questions/2362381/protected-set-in-vb-net-for-a-property-defined-in-an-interface –

+0

Je ne pense pas que ce soit un doublon. La question est différente. Il arrive que la réponse fonctionne pour les deux questions. –

Répondre

2

Pour mémoire, le plus proche traduction VB vous donnera:

Public MustInherit Class BaseClassWithAnAbstractProperty 

    Public ReadOnly MustOverride Property AnAbstractIntegerProperty() As Integer 

End Class 

Cette pourrait travail, mais as I found out, VB ne supporte pas pour les interfaces, au moins

+0

Oui, je viens de copier/coller un de vos commentaires en fait. Je vais pour le travail. Merci – nullphonic