الميراث. NET مع واجهات عامة
-
03-07-2019 - |
سؤال
مرحبا انا حاليا يلعب حولها مع مشاريع القلعة أكتيفيريكورد ومرفق الاتصال عن بعد.
ومشكلتي الحالية هي أنني بحاجة إلى إيجاد وسيلة لتنفيذ حفظ فرعي من 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
لا تنتمي إلى StackOverflow