Виртуальная собственность с частным набором - PullRequest
1 голос
/ 28 января 2010

Я пытаюсь использовать беглый nhibernate в проекте MVC ... я очень плохо знаком с nhibernate и свободно ... Кажется, сущности должны иметь свойства, которые являются виртуальными, и набор должен быть закрытым для идентификаторов ... я использовать язык VB ... поэтому попытался использовать переопределить ... это дает ошибку ...

Public Overridable Property DesignId() As Integer
    Get

    End Get
    Private Set(ByVal value As Integer)

    End Set
End Property

он говорит, что свойство не может быть переопределено, потому что у него есть частный метод доступа ... понятия не имею, как это сделать ... все учебники в сети находятся на c # ... мой клиент специально на vb .... спасибо в заранее ...

Ответы [ 3 ]

2 голосов
/ 28 января 2010

Как насчет того, чтобы сделать установщик защищенным, чтобы переопределяющие классы могли его видеть ...

т.е:.

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 голосов
/ 28 января 2010

Использовать защищенный вместо частного. Также нормально использовать Public, если это нормально с вашим дизайном - Set не обязательно должен быть Private, это просто хороший дизайн.

Частной ошибкой является ограничение VB, это работает в C #. VB требует переопределить как геттер, так и сеттер, а C # - нет.

0 голосов
/ 28 января 2010

Специально для VB, если вы делаете защищенный сеттер, следует избегать появления ошибки (поскольку Protected позволяет вам переопределить настройку).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...