Общий интерфейс отсутствует реализация

У меня есть универсальный интерфейс, даже если я указываю тип при его реализации, он говорит, что реализованные классы пропускают все реализации членов.

Интерфейс

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 добавит объявление функции для вас.

Другие вопросы по тегам