سؤال

مرحبا انا حاليا يلعب حولها مع مشاريع القلعة أكتيفيريكورد ومرفق الاتصال عن بعد.

ومشكلتي الحالية هي أنني بحاجة إلى إيجاد وسيلة لتنفيذ حفظ فرعي من IBaseRepository في الصف عنوان بريدي وأنا لا أعرف كيف.

وهنا هو قانون بلدي الحالي، VS يقول لي على خط "تنفذ IAddress" أن لدي لتنفيذ الباطن حفظ (الكائنات وIAddress) ل[المشتركة] .IBaseRepository (من [المشتركة] .IAddress)

وعلى خط تجاوزات ملفه الفرعية حفظ (الأساسية ByVal الكائنات وعنوان) تنفذ IBaseRepository (من IAddress). حفظ

وأنني غير قادر على تنفيذ حفظ القضية ليست هناك الفرعية حفظ في [المشتركة] .IBaseRepository (من [المشتركة] .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
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top