2008-10-14 8 views
2

Bonjour, je joue actuellement avec les projets de château ActiveRecord et la fonction d'accès à distance. Mon problème actuel est que j'ai besoin de trouver un moyen de mettre en œuvre le sous-enregistrement de IBaseRepository dans ma classe d'adresses et je ne sais pas comment.Héritage .NET avec des interfaces génériques

voici mon code actuel, VS me dit sur la ligne "implémente iAddress" que je dois mettre en œuvre sous Save (obj As iAddress) pour [Partagé] .IBaseRepository (de [Partagé] .IAddress)

et surpattage public Sub Save (ByVal __gVirt_NP_NN_NNPS<__ obj As Adresse) Met en œuvre IBaseRepository (de iAddress) .Save

que je ne peux pas mettre en œuvre Enregistrer parce qu'il n'y a pas de sous Save dans [partagé] .IBaseRepository (de [partagé] .IAddress

je ne comprends pas :( s'il vous plaît éclairer moi

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 

Répondre

2
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 
+0

qui a fait l'affaire, je vous remercie –

Questions connexes