Невозможно реализовать ICommandSource в VB
Кто-нибудь когда-нибудь пытался реализовать ICommandSource с VB? Microsoft предоставляет примеры на C#, и, поскольку VB не допускает неявную реализацию, этот интерфейс как недостижимый в VB!!
1 ответ
Это зависит от того, на каком классе вы хотите его реализовать. Если вы вводите свойства Command, CommandParameter и CommandTarget в своем собственном классе (где вы реализуете интерфейс), вы можете просто реализовать его как любой другой интерфейс:
Public ReadOnly Property Command() As ICommand
Implements ICommandSource.Command
Get
' implementation goes here
End Get
End Property
Кстати, вы все еще можете использовать DP для реализации: директива Implements находится на свойстве CLR и не мешает реализации "не трогать" методов получения и установки.
Если класс, для которого вы хотите его реализовать, уже имеет (унаследованные) свойства Command, CommandParameter и CommandTarget и вы хотите, чтобы реализация интерфейса использовала их повторно, вам нужно будет создать новые свойства с новыми именами, объявить их как реализации интерфейса и вернуть их на существующие свойства
Public ReadOnly Property ICommandSource_Command() As ICommand
Implements ICommandSource.Command
Get
Return Me.Command ' the existing implementation that can't be made implicit
End Get
End Property