我正在尝试在MVC项目中使用流畅的nhibernate ...我对nhibernate和流利的新手......似乎实体应该具有虚拟属性,并且该集应该是私有的ID ...我使用vb语言...所以尝试使用可重写...它给出了一个错误......
Public Overridable Property DesignId() As Integer
Get
End Get
Private Set(ByVal value As Integer)
End Set
End Property
它说属性不能被覆盖,因为它有一个私人访问者......不知道怎么去...网中的所有教程都在c#中...我的客户专门在vb ....感谢预先...
答案 0 :(得分:2)
如何使setter受到保护,以便覆盖的类可以看到它......
即:
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
答案 1 :(得分:0)
具体到VB,如果你使setter受到保护,那应该避免给你错误(因为Protected允许你覆盖设置)。
答案 2 :(得分:0)
使用受保护而非私有。也可以使用Public,如果你的设计没问题 - Set不必是Private,那只是好的设计。
私有错误是VB限制,这适用于C#。 VB需要覆盖getter和setter,而C#则不会。