Я пытаюсь понять, почему это работает
Public Interface IFullService
Inherits ISerializableObjectLayerService, IVersionService
<OperationContract()>
Function StartTrac() As OperationResult(Of Boolean)
<OperationContract()>
Function StopTrac() As OperationResult(Of Boolean)
<OperationContract()>
Function IsTracRunning() As OperationResult(Of Boolean)
End Interface
Интерфейс не позволяет вам указать, что он «реализует» другой интерфейс, однако в моем случае мне нужно было заявить, что у меня есть оба интерфейса, просто я вставил запятую и вошел в другой интерфейс, построил и запустил мои юнит-тесты и все работает ...
Ранее я пытался следовать одному дереву наследования, например
<ServiceContract()>
Public Interface IFullService
Inherits IVersionService
<OperationContract()>
Function StartTrac() As OperationResult(Of Boolean)
<OperationContract()>
Function StopTrac() As OperationResult(Of Boolean)
<OperationContract()>
Function IsTracRunning() As OperationResult(Of Boolean)
End Interface
<ServiceContract()>
Public Interface IVersionService
Inherits ISerializableObjectLayerService
<OperationContract()>
Function GetVersionsSince(ByVal VersionNumber As Long, IncludeBetas As Boolean) As OperationResult(Of Core.Setting.MemoryBmsReleaseInfo())
End Interface
Как вы можете видеть здесь, IFullService наследует IVersionService, который затем наследует IVersionService. Однако в моем случае мне нужен был способ для реализации IVersionService без реализации ISerializableObjectLayerService, что привело меня к моему «рабочему» решению.
К сожалению, я не могу понять, как выяснить, что именно это делает. У меня поиск через stackoverflow, google, msdn, и я не могу найти пример с Inherits,
Не могли бы некоторые гуру предоставить некоторую информацию о том, что именно это делает (было бы здорово, если бы вы могли предоставить ссылку MSDN), поскольку мне не нравится делать что-то, чего я не понимаю (так как это может привести к проблеме). в будущем, что вы можете работать: D)
Надеюсь, этот вопрос не слишком дурацкий: D