Общий интерфейс отсутствует реализация
У меня есть универсальный интерфейс, даже если я указываю тип при его реализации, он говорит, что реализованные классы пропускают все реализации членов.
Интерфейс
Interface IBuilder(Of T)
Function Number(ByVal literal As String) As T
End Interface
Орудие
Class BracketsBuilder
Implements IBuilder(Of String)
Public Function Number(number__1 As String) As String
Return number__1
End Function
End Class
Когда я пытаюсь запустить код, я получаю
Класс "BracketsBuilder" должен реализовывать "Номер функции (буквально как строка) как строка" для интерфейса "IBuilder(Of String)".
1 ответ
Решение
В декларации функции Number необходимо указать, что это реализация функции Number, определенной в интерфейсе.
Interface IBuilder(Of T)
Function Number(ByVal literal As String) As T
End Interface
Class BracketsBuilder
Implements IBuilder(Of String)
Public Function Number(number__1 As String) As String Implements IBuilder(Of String).Number
Return number__1
End Function
End Class
Если вы печатаете
Class BracketsBuilder
Implements IBuilder(Of String)
и затем нажмите Enter, Visual Studio добавит объявление функции для вас.