Herencia .NET con interfaces genéricas
-
03-07-2019 - |
Pregunta
Hola, actualmente estoy jugando con los proyectos Castle ActiveRecord y la instalación remota.
mi problema actual es que necesito encontrar una forma de implementar el sub guardar desde IBaseRepository en mi clase de dirección y no sé cómo.
Aquí está mi código actual, VS me dice en la línea " implementa IAddress " que tengo que implementar Sub Save (obj As IAddress) para [Shared] .IBaseRepository (Of [Shared] .IAddress)
y anulaciones públicas en línea Sub Save (ByVal obj As Address) implementa IBaseRepository (Of IAddress) .Guardar
no puedo implementar Guardar porque no hay SubGuardar en [Shared] .IBaseRepository (Of [Shared] .IAddress)
simplemente no lo entiendo :( por favor ilumíname.
tia
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
Solución
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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow