Ich versuche, eine generische Funktion zu erstellen, die die Schüler in meinem einführenden VB .NET-Kurs verwenden können, um ein einzelnes dimensionales Array einer Struktur zu suchen.Erstellen einer Funktion, die eine generische Struktur verwendet?
Meine Struktur und Anordnung wie folgt aussehen:
Private Structure Survey
Dim idInteger As Integer
Dim membersInteger As Integer
Dim incomeInteger As Integer
Dim stateString As String
Dim belowPovertyLevelBoolean As Boolean
End Structure
Private incomeSurvey(199) As Survey
Meine generische Funktion Header wie folgt aussieht:
Private Function FindSurveyItem(Of xType As Structure)
(ByVal surveyIDInInt As Integer, ByVal surveyArrayIn() As xType) As Integer
??????
End Function
Mein Aufruf der Funktion wie folgt aussieht:
If FindSurveyItem(Of Survey)(CInt(idTextBox.Text), incomeSurvey) <> -1 Then
Meine Frage is: Gibt es eine Möglichkeit, die einzelnen Strukturfelder im Array von innerhalb der Funktion zu referenzieren? Ich habe versucht, es generisch zu machen, so dass der Schüler sein Array einfach in die Funktion übergeben könnte - seine Struktur könnte anders benannt werden als meine und die Feldnamen könnten anders sein.
Ich vermute, es gibt andere Möglichkeiten, um mit dieser Situation umzugehen, aber ich habe versucht, es zu einem einfachen eindimensionalen Array einer Struktur zu halten. Ich glaube nicht, dass es möglich ist, zu tun, was ich will, aber ich habe mich gefragt, was andere denken.
Bitte erzählen Sie mir nicht Sie Studenten sind lehren die Art als Teil einschließen des Variablennamens! –
Ich wurde angewiesen, Strukturen nur zu verwenden, wenn die Instanzgröße weniger als 16 Bytes betrug. Es scheint, als wären Ihre Instanzgrößen viel größer als 16 Byte. –
Joel, ja, die Studenten sollen den Typ als Suffix des Variablennamens angeben. Das Lehrbuch, das ich benutze, tut dies und vor allem brauchen sie eine Erinnerung an den Typ, den sie benutzen. Ich weiß, dass das aus der Sicht eines Entwicklers stumm klingt, aber das sind Anfänger. –