' eine Fläche auf Basis von MeineReihe
Public Class MeineFläche
Inherits BaseFläche(Of MeinElement)
' hier einfach als Public...
Public Gewicht As Double
Public Preis As Double
Public Sub New()
MyBase.New()
End Sub
Public Sub New(ByVal Element As MeinElement, ByVal iAnz1 As Integer, _
ByVal iAnz2 As Integer)
MyBase.New(Element, iAnz1, iAnz2)
End Sub
Protected Overrides Sub AddReiheTyp1(oReihe As BaseReihe(Of _
MeinElement))
MyBase.AddReiheTyp1(oReihe)
' weitere Anweisungen...
m_AddMore(DirectCast(oReihe, MeineReihe)) ' Hier Fehler angezeigt!!!
End Sub
Protected Overrides Sub AddReiheTyp2(oReihe As BaseReihe(Of _
MeinElement))
MyBase.AddReiheTyp2(oReihe)
' weitere Anweisungen...
m_AddMore(DirectCast(oReihe, MeineReihe)) ' Hier Fehler angezeigt!!!
End Sub
' z.B. Gewicht und andere Werte aufsummieren
Private Sub m_AddMore(ByVal Reihe As MeineReihe)
With Reihe
Gewicht += .Gewicht
Preis += .AnzElemente * m_GetElementPreis(.Element, 3)
' weitere Anweisungen...
End With
End Sub
' Reihe Typ1
Public Shadows ReadOnly Property ReiheTyp1 As MeineReihe
Get
Return DirectCast(MyBase.mReiheTyp1, MeineReihe)
End Get
End Property
' Reihe Typ2
Public Shadows ReadOnly Property ReiheTyp2 As MeineReihe
Get
Return DirectCast(MyBase.mReiheTyp2, MeineReihe)
End Get
End Property
End Class
Public Function m_GetReihenFläche(ByVal Reihen As List(Of BaseReihe(Of _
I_Base))) As Double
If Reihen Is Nothing OrElse Reihen.Count = 0 Then Return 0
Dim F As Double
For i As Integer = 0 To Reihen.Count - 1
F += Reihen(i).Fläche
Next i
Return F
End Function
' soll den Preis eines Elements bestimmen
Public Function m_GetElementPreis(ByVal Element As MeinElement, ByVal Level _
As Integer) As Double
If Element Is Nothing Then Return 0
'z.B. irgendwie
Return Level * 0.8 * 1.27 * Element.Gewicht '* Wurzel Irgendwas.. :)
End Function
' Aufrufbeispiel:
'Dim FL As New MeineFläche
'Dim EL As New MeinElement(20, 40, 0.77)
'FL.Fill_Abwechselnd(New MeineReihe(EL, 3), 3, New MeineReihe(EL, 2), 2)
End Module |