Hallo die Damen und Herren,
ich versuche gerade eine (für mich) etwas größere Klasse zu bauen. Die Klasse soll so etwas ähnliches wie einen Kommisionierungsauftrag darstellen. In diesem Auftrag gibt es eine Property Paletten vom Typ clsPaletten.
clsPaletten erbt von List(of clsPalette), diese clsPalette ist gekapselt mit in der Klasse clsPaletten und clsPaletten ist gekapselt in der clsAuftrag
clsPalette hat eine Eigenschaft vom Typ clsVerpackungen, diese erbt auch von List(of clsVerpackung). clsVerpackung ist gekapselt innerhalb der clsVerpackungen.
clsVerpackung hat eine Eigenschaft vom Typ clsKassetten, diese erbt auch von List(of clsKassette). clsKassette ist gekapselt innerhalb der clsVerpackungen.
Es sollen also pro Auftrag x Paletten hinzugefügt werden können. Jede Palette hat x Verpackungen und jede Verpackung hat x Kassetten.
Das ganze sieht dann ungefähr so aus:
Die abfrage einer Kassette müsste ich dann später so machen:
Gibt es da eine Möglichkeit statt über den "index" mit einer anderen variable auf die Auflistungselemente zuzugreifen? Sowas wie:
Also statt den index der List(of T) eine Property der gelisteten Klassen verwenden?
Ich hoffe man versteht was ich meine
MfG
Befree
ich versuche gerade eine (für mich) etwas größere Klasse zu bauen. Die Klasse soll so etwas ähnliches wie einen Kommisionierungsauftrag darstellen. In diesem Auftrag gibt es eine Property Paletten vom Typ clsPaletten.
clsPaletten erbt von List(of clsPalette), diese clsPalette ist gekapselt mit in der Klasse clsPaletten und clsPaletten ist gekapselt in der clsAuftrag
clsPalette hat eine Eigenschaft vom Typ clsVerpackungen, diese erbt auch von List(of clsVerpackung). clsVerpackung ist gekapselt innerhalb der clsVerpackungen.
clsVerpackung hat eine Eigenschaft vom Typ clsKassetten, diese erbt auch von List(of clsKassette). clsKassette ist gekapselt innerhalb der clsVerpackungen.
Es sollen also pro Auftrag x Paletten hinzugefügt werden können. Jede Palette hat x Verpackungen und jede Verpackung hat x Kassetten.
Das ganze sieht dann ungefähr so aus:
VB.NET-Quellcode
- Public Class clsAuftrag
- Dim _IDSQL As Integer
- Public ReadOnly Property IDSQL As Integer
- GetReturn _IDSQL
- End Get
- End Property
- Private Shared _Paletten As New clsPaletten
- Public ReadOnly Property Paletten As clsPaletten
- GetReturn _Paletten
- End Get
- End Property
- Public Class clsPalettenInherits List(Of clsPalette)
- Public Overloads Sub Add(ByVal Nr As Integer)MyBase.Add(New clsPalette(Nr))
- End Sub
- Public Class clsPalette
- Private Shared _Nr As Integer
- Public ReadOnly Property Nr As Integer
- GetReturn _Nr
- End Get
- End Property
- Private Shared _Verpackungen As clsVerpackungen
- Public ReadOnly Property Verpackungen As clsVerpackungen
- GetReturn _Verpackungen
- End Get
- End PropertyPublic Sub New(ByVal NewNr As Integer)
- _Nr = NewNr
- _Verpackungen = New clsVerpackungen
- End Sub
- Public Class clsVerpackungenInherits List(Of clsVerpackung)
- Public Overloads Sub Add(ByVal Nr As Integer)Dim NewVerpackung As New clsVerpackung(Nr)
- MyBase.Add(NewVerpackung)
- End Sub
- Public Class clsVerpackung
- Private Shared _ID As Long
- Public ReadOnly Property ID As Long
- GetReturn _ID
- End Get
- End Property
- Private Shared _Containernummer As Integer
- Public ReadOnly Property Containernummer As Integer
- GetReturn _Containernummer
- End Get
- End Property
- Private Shared _Kassetten As clsKassetten
- Public ReadOnly Property Kassetten As clsKassetten
- GetReturn _Kassetten
- End Get
- End PropertyPublic Sub New(ByVal Nr As Integer)
- _Containernummer = Nr
- _Kassetten = New clsKassetten
- End Sub
- Public Class clsKassetten
- Inherits List(Of clsKassette)
- Public Overloads Sub Add(ByVal Gewicht As Double)
- MyBase.Add(New clsKassette(Gewicht, MyBase.Count + 1))
- End Sub
- Public Class clsKassette
- Private Shared _ID As Long
- Public ReadOnly Property ID As Long
- GetReturn _ID
- End Get
- End Property
- Private Shared _Nr As Integer
- Public ReadOnly Property Nr As Integer
- GetReturn _Nr
- End Get
- End Property
- Private Shared _Timestamp As DateTime
- Public ReadOnly Property Timestamp As DateTime
- GetReturn _Timestamp
- End Get
- End Property
- Private Shared _Gewicht As Double
- Public ReadOnly Property Gewicht As Double
- GetReturn _Gewicht
- End Get
- End Property
- Private Shared _Anzahl As Integer
- Public ReadOnly Property Anzahl As Integer
- GetReturn _Anzahl
- End Get
- End PropertyPublic Sub New(ByVal Gewicht As Double, ByVal Nr As Integer)
- _Timestamp = Now
- _Gewicht = (Gewicht - _Kassettengewicht) / _AnzdhEinzelGewicht
- _Nr = Nr
- End Sub
- End Class
- End Class
- End Class
- End Class
- End Class
- End ClassEnd Class
Die abfrage einer Kassette müsste ich dann später so machen:
Gibt es da eine Möglichkeit statt über den "index" mit einer anderen variable auf die Auflistungselemente zuzugreifen? Sowas wie:
Also statt den index der List(of T) eine Property der gelisteten Klassen verwenden?
Ich hoffe man versteht was ich meine
MfG
Befree