«Свойство» не может реализовать «Свойство», поскольку в интерфейсе «IName» нет соответствующего свойства - PullRequest
0 голосов
/ 09 декабря 2011

У меня сейчас очень странные проблемы с интерфейсами.

У меня очень простая настройка.

В одном из моих классов у меня есть Property, реализующий Property из Interface.

В моем классе это выглядит так:

Private _oForm As IForm
Public Property Form As IForm Implements IContainer.Form
    Set(value As IForm)
        Me._oForm = value
    End Set
    Get
        Return Me._oForm
    End Get
End Property

Вот интерфейс IContainer:

Public Interface IContainer

    Property Form As IForm

    Sub OpenScreen(p_oDataKey As DataKey, Optional ByVal p_oOpenScreenProperties As OpenScreenProperties = Nothing)

End Interface

Это довольно просто, не правда ли??Там нет сложной реализации вообще, и я не могу разобраться с этим.

И ради этого, прямо сейчас НИЧЕГО внутри моей IForm:

Public Interface IForm

End Interface

Я всегдаget:

Error   2   Class 'BaseContainer' must implement 'Property Form As IForm' for interface 'Common.IContainer'. Implementing property must have matching 'ReadOnly' or 'WriteOnly' specifiers.

и

Error   3   'Form' cannot implement 'Form' because there is no matching property on interface 'Common.IContainer'.

У меня есть несколько десятков таких интерфейсов, которые работают в моем проекте, и я не могу поверить, что этот простой не может работать!Пожалуйста, помогите мне здесь: P

Большое спасибо!

1 Ответ

0 голосов
/ 09 декабря 2011

Убедитесь, что другой реализует icontainer.form или iform.form не был добавлен в другом месте в классе.

Если вы, например, набираете Implements IContainer, VB будет любезно добавлять разработчиков в ваш класс.Если вы измените интерфейс позже, у вас могут быть оставшиеся ссылки.

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