2010-01-28 3 views
1

J'essaie d'utiliser nhibernate fluent dans un projet MVC ... je suis très nouveau pour nhibernate et fluent ... Il semble que les entités devraient avoir des propriétés qui sont virtuelles et l'ensemble devrait être privé pour ID ... j'utiliser le langage vb ... donc essayé d'utiliser ... il donne dérogation possible une erreur ...Propriété virtuelle avec ensemble privé

Public Overridable Property DesignId() As Integer 
    Get 

    End Get 
    Private Set(ByVal value As Integer) 

    End Set 
End Property 

il dit propriété ne peut pas être parce qu'il a dérogation possible un accesseur privé ... ont aucune idée comment faire ... tous les tutoriels dans le net sont en C# ... mon client spécifiquement en vb .... merci d'avance ...

Répondre

2

Que diriez-vous de rendre le setter protégé, de sorte que les classes prioritaires peuvent le voir .. .

i.e. .:

Private _designId as Integer 
Public Overridable Property DesignId() As Integer 
    Get 
     Return _designId 
    End Get 
    Protected Set(ByVal value As Integer) 
     _designId = value 
    End Set 
End Property 
0

Plus précisément à VB, si vous faites le poseur protégé, qui devrait éviter de vous donner l'erreur (depuis Protected vous permet de passer outre le réglage).

0

Utilisez Protected au lieu de Private. Il est bon d'utiliser Public, aussi, si ça va avec votre design - Set n'est pas nécessaire d'être privé, c'est juste un bon design.

L'erreur Private est la limitation VB, cela fonctionne en C#. VB nécessite de remplacer à la fois getter et setter, tandis que C# ne le fait pas.

Questions connexes