Реализация моего собственного интерфейса в 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
Ошибка компиляции:

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

но помощь по Microsoft не помогает (когда я нажимаю кнопку "Справка" ).

Любые идеи?

Ответ 1

Ваш класс2 должен выглядеть следующим образом:

Implements ClsInterface

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

(Оформить выпадающие окна в верхней части окна кода Class2, вы можете увидеть, к какому базовому объекту вы можете обратиться: Class или ClsInterface)

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

Dim obj As New ClsInterface

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

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