2011-11-29 4 views
3

현재 프로젝트에서 다른 모든 서비스 인터페이스에 상속 된 일반 인터페이스 iService을 사용하고 있습니다. 예를 들어 IServiceILogService에 의해 상속됩니다.vb.Net에서 상속 된 일반 인터페이스 구현

ILogService 인터페이스는 다음과 같이 LogService에 의해 구현됩니다 : 나는 ILogService 인터페이스를 구현하고 때 여전히 LogService 클래스의 기능/서브 우퍼를 얻을 수 있음을 이해하려고 노력하고 :

Public Interface IService(Of T) 
    Sub Save(ByVal T As IEntity) 
    Sub Remove(ByVal T As IEntity) 
    Function FindBy(ByVal Id As Guid) As T 
    Function FindAll() As IEnumerable(Of T) 
End Interface 

Public Interface ILogService 
    Inherits IService(Of Log) 


    Function FindLogsByOwner(ByVal Owner As Guid, ByVal visibility As LogVisibility) As IList(Of Log) 
    Function FindAllLogsByVisibility(ByVal visibility As LogVisibility) As IList(Of Log) 
    Function FindAllLogsByType(ByVal type As LogType) As IList(Of Log) 

End Interface 

Public Class LogService 
    Implements ILogService 


    Public Function FindAll() As System.Collections.Generic.IEnumerable(Of Model.CSLS.Log) Implements Infrastructure.Domain.IService(Of Model.CSLS.Log).FindAll 

    End Function 

    Public Function FindBy(Id As System.Guid) As Model.CSLS.Log Implements Infrastructure.Domain.IService(Of Model.CSLS.Log).FindBy 

    End Function 

    Public Sub Remove(T As Infrastructure.Domain.IEntity) Implements Infrastructure.Domain.IService(Of Model.CSLS.Log).Remove 

    End Sub 

    Public Sub Save(T As Infrastructure.Domain.IEntity) Implements Infrastructure.Domain.IService(Of Model.CSLS.Log).Save 

    End Sub 

    Public Function FindAllLogsByType(type As Model.CSLS.LogType) As System.Collections.Generic.IList(Of Model.CSLS.Log) Implements Model.CSLS.ILogService.FindAllLogsByType 

    End Function 

    Public Function FindAllLogsByVisibility(visibility As Model.CSLS.LogVisibility) As System.Collections.Generic.IList(Of Model.CSLS.Log) Implements Model.CSLS.ILogService.FindAllLogsByVisibility 

    End Function 

    Public Function FindLogsByOwner(Owner As System.Guid, visibility As Model.CSLS.LogVisibility) As System.Collections.Generic.IList(Of Model.CSLS.Log) Implements Model.CSLS.ILogService.FindLogsByOwner 

    End Function 
End Class 

도움이 필요 유형 IEntity

  • 메소드 매개 변수 T을 대신 Log
  • : 포함

TLog으로 표시되도록 방법 서명을 업데이트 할 수 있습니까?

내가 뭘 잘못하고 있니?

답변