Я знаю, что я должен использовать это гораздо шире, но в нашем коде есть только несколько интерфейсов, поэтому я немного недоволен ими. Вот моя проблема. В первом файле у меня есть это:
Friend Interface IDateRow
Property Name() As String
...
End Interface
Friend Interface IAmountRow
Property StartDate() As IDateRow
Property EndDate() As IDateRow
...
End Interface
В файле 2 у меня есть это:
Friend Class DateRow
Inherits DtaRow
Implements IDateRow
Friend Property Name() As String Implements IDateRow.Name
...
End Class
Пока все хорошо. Теперь ...
Friend Class AmountRow
Inherits DtaRow
Implements IAmountRow
Friend Property StartDate() As DateRow Implements IAmountRow.StartDate
Это не будет работать - оно говорит:
'StartDate' cannot implement 'StartDate' because there is no matching property on interface 'IAmountRow'.
Правильно ли я считаю, что это потому, что он возвращает DateRow, а не IDateRow? DateRow реализует IDateRow, поэтому он кажется таким, каким он должен быть законным.
Я знаю, что мне здесь чего-то не хватает ...