私人套房的虚拟财产

时间:2010-01-28 13:30:05

标签: asp.net-mvc vb.net fluent-nhibernate

我正在尝试在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 ....感谢预先...

3 个答案:

答案 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#则不会。