Реализация моего собственного интерфейса в 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 ответ
Решение
Ваш Class2 должен выглядеть так:
Implements ClsInterface
Private Function ClsInterface_add(x As Integer, y As Integer) As Integer
ClsInterface_add = x + y
End Function
Проверьте выпадающие списки в верхней части окна кода Class2, вы можете увидеть, на какой базовый объект вы можете ссылаться; Класс или ClsInterface.
В вашем тестовом коде вы хотите:
Dim obj As New ClsInterface
Если вы хотите позвонить через интерфейс.
Я также рекомендовал бы именовать интерфейсы в форме ISomeDescription
и используя Dim
затем Set
скорее, чем Dim As New
,