Interface Implementierung

10/06/2009 - 20:53 von Armin Zingler | Report spam
Hallo,

gleich mal der Code:

Interface I1
ReadOnly Property PBase() As Integer
Sub X()
End Interface

Interface I2
ReadOnly Property PBase() As Integer
Sub Y()
End Interface

Die beiden Interfaces haben also eine gemeinsame Eigenschaft.
Implementierung in Klasse C1:

Class C1
Implements I1
Implements I2

private ReadOnly Property I1_PBase() As Integer Implements I1.PBase
Get
End Get
End Property

Public Sub X() Implements I1.X
End Sub

private ReadOnly Property I2_PBase() As Integer Implements I2.PBase
Get
End Get
End Property

Public Sub Y() Implements I2.Y
End Sub
End Class

Wichtig ist, dass es getrennte Implementierungen für I1.Pbase und I2.PBase
gibt.

Was mir daran nicht gefàllt, ist die Redundanz der Eigenschaft PBase bei den
Interfaces I1 und I2. In der Praxis werden es noch mehr Interfaces mit
dieser Eigenschaft sein. Deshalb habe ich die Eigenschaft in ein
Basis-Interface verschoben:


Interface I3
ReadOnly Property PBase() As Integer
End Interface

Interface I4
Inherits I3
Sub X()
End Interface

Interface I5
Inherits I3
Sub Y()
End Interface

Problem bei der Implementierung ist, dass ich nicht mehr zwischen I4.PBase
und I5.PBase unterscheiden kann:

Class C2
Implements I4
Implements I5

Public ReadOnly Property PBase() As Integer Implements I3.PBase
Get
End Get
End Property

Public Sub X() Implements I4.X
End Sub

Public Sub Y() Implements I5.Y
End Sub
End Class

Damit ihr es nicht ausprobieren müsst: Zwei getrennte Methoden mit
"implements i4.pbase" bzw "implements i5.pbase" funktioniert nicht.

Ist verstàndlich, warum ich weder mit der einen noch mit der anderen Lösung
wirklich zufrieden bin? Ich werde bei der ersten bleiben müssen? Und warum
stelle ich eigentlich rhetorische Fragen? ;-)



Armin
 

Lesen sie die antworten

#1 Peter Fleischer
10/06/2009 - 22:43 | Warnen spam
"Armin Zingler" schrieb im Newsbeitrag
news:%

Ist verstàndlich, warum ich weder mit der einen noch mit der anderen
Lösung
wirklich zufrieden bin?



Hi Armin,
mir ist unklar, wozu ma so etwas benötigt.

Ich werde bei der ersten bleiben müssen?



Warum?

Und warum
stelle ich eigentlich rhetorische Fragen? ;-)



Das frage ich mich auch.

Viele Grüsse
Peter

Ähnliche fragen