일반 인터페이스가있는 .NET 상속
-
03-07-2019 - |
문제
Hallo 저는 현재 Castle Projects Activerecord 및 원격 시설을 가지고 놀고 있습니다.
내 현재 문제는 주소 클래스에서 iBaserePository에서 Save Sub를 구현하는 방법을 찾아야한다는 것입니다.
다음은 현재 코드입니다. vs는 "IADDRESS를 구현하는"라인에 알려줍니다.
그리고 공개는 Sub Save (Byval OBJ As Address)를 재정의합니다.
저장 원인을 구현할 수 없다는 [shared] .ibaserepository ([shared] .iaddress)에 서브 저장이 없습니다.
나는 단지 그것을 얻지 못한다 :( 제발 나를 밝히십시오.
티아
Public Interface IBaseRepository(Of T As Class)
Sub Save(ByVal obj As T)
End Interface
Public Interface IAddress
Inherits IBaseRepository(Of IAddress)
Property Guid() As Guid
Property CompanyName() As String
Property Surename() As String
Property Christianname() As String
End Interface`
Public Class BaseRepository(Of T As Class)
Inherits MarshalByRefObject
Implements IBaseRepository(Of T)
Protected mediator As ActiveRecordMediator(Of T)
Public Overridable Sub Save(ByVal obj As T) Implements IBaseRepository(Of T).Save
ActiveRecordMediator(Of T).Save(obj)
End Sub
End Class
<ActiveRecord("Address")> _
Public Class Address
Inherits BaseRepository(Of Address)
Implements IAddress
Public Overrides Sub Save(ByVal obj As Address) Implements IBaseRepository(Of IAddress).Save
MyBase.Save(obj)
End Sub
End Class
해결책
Public Class Address
Inherits BaseRepository(Of Address)
Implements IAddress
Public Overrides Sub Save(ByVal obj As Address)
MyBase.Save(obj)
End Sub
Public Overloads Sub Save(ByVal obj As IAddress) _
Implements IBaseRepository(Of IAddress).Save
End Sub
'
' Some other stuff...
'
End Class
제휴하지 않습니다 StackOverflow