Реализация моего собственного интерфейса в VBA - Ошибка: Объектный модуль должен реализовать 'x' для интерфейса 'y'

Как я реализую свой класс ClsInterface, который имеет этот код:

Public Function add(x As Integer, y As Integer) As Integer
End Function

в моем классе Class2, который имеет этот код:

Implements ClsInterface

Public Function add(x As Integer, y As Integer) As Integer
add = x + y
End Function

Мой тестовый код

Public Sub test()
Dim obj As New Class2
MsgBox obj.add(5, 2)
End Sub

Это всегда придумывает следующую ошибку:

Microsoft Visual Basic
Ошибка компиляции:

Объектный модуль должен реализовать, 'добавляют' для интерфейса 'ClsInterface'
OK/Справка

но нет никакой справки на справке Microsoft (когда я нажимаю на кнопке Help).

Какие-либо идеи?

11
задан Community 9 July 2018 в 19:34
поделиться

1 ответ

Ваш Class2 должен выглядеть так:

Implements ClsInterface

Private Function ClsInterface_add(x As Integer, y As Integer) As Integer
    ClsInterface_add = x + y
End Function

Посмотрите на выпадающие поля в верхней части окна кода Class2, вы можете увидеть, на какой базовый объект вы можете ссылаться; Class или ClsInterface.

В вашем тестовом коде вы хотите:

Dim obj As New ClsInterface

Если вы хотите вызывать через интерфейс.

Я бы также рекомендовал именовать интерфейсы в форме ISomeDescription и использовать Dim, затем Set, а не Dim As New.

14
ответ дан 3 December 2019 в 08:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: