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