2015-06-15 6 views
2

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

Интерфейс

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' должны реализовать "Function Number (буквально String) Как Строка 'для интерфейса' IBuilder (Of String) '.

ответ

3

Вы должны указать об объявлении функции 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) 

, а затем нажмите введите, Visual Studio добавит вам объявление функции.

+0

Спасибо! Он отлично работает – Insecurefarm