Я взял код из примера на C#, конвертировал в VB.NET и компилятор стал подчеркивать Inherits IDynamicProperty2.
Ума не приложу это из-за чего?
Из-за того, что Вы не очень хорошо знаете VB.NET.
Это в C# можно наследоваться от классов и интерфейсов, а в VB можно наследоваться от классов и
реализовывать интерфейсы. Разницу чувствуете?
Очевидно, что пример Вы конвертировали автоматическими инструментами, а вот они эту разницу зачастую не улавливают.
'Наследование от класса
Public Class Client
Inherits Person
...
End Class
'Реализация интерфейса
Public Class Client
Implements IAccount
...
End Class
'Наследоване и реализация
Public Class Client
Inherits Person
Implements IAccount
...
End Class