Hallo hallo,
Ik heb volgend probleem die ik graag zou willen oplossen. Echter zie ik niet echt meer klaar in het geheel, vandaar mijn vraag hier op het forum.
Ik zou graag een interface maken om te gebruiken in de businesslayer. Echter zou dit op het eerste zicht een zeer simpele interface moeten zijn maar toch slaag ik er niet in.
Onderstaande de code van de interface:
bij de functie geeflijst zou ik graag een anoniem type terugwerpen (aangezien ik verschillende lijsten zal hebben met verschillende objecten bv (list(of Chauffeurs), list (of Klanten), enz ) )
Bij de implementatie van de chauffeurslijst heb ik volgende code:
Ik heb met groen stuk code aangeduid ik heb mijn twijfels over dit stuk (heb ik gevonden op het internet) het zou gerust kunnen dat er hier al een wijziging moet gebeuren.
Op het form wil ik dan de methode van deze Chauffeurslijst aanroepen, ... hieronder een stuk van de code:
De met groen gemarkeerde tekst is weer een stuk waarvan ik niet zeker ben.
De met rood gemarkeerde tekst krijg ik volgende foutmelding: "Error 1 Type parameter 'T' for 'Public Function GeefLijst(Of T)() As System.Collections.Generic.List(Of Object)' cannot be inferred."
Is er iemand die mij in de juiste richting kan duwen of gewoon een goeie oplossing kan geven hiervoor?
Alvast bedankt!
Ik heb volgend probleem die ik graag zou willen oplossen. Echter zie ik niet echt meer klaar in het geheel, vandaar mijn vraag hier op het forum.
Ik zou graag een interface maken om te gebruiken in de businesslayer. Echter zou dit op het eerste zicht een zeer simpele interface moeten zijn maar toch slaag ik er niet in.
Onderstaande de code van de interface:
Code:
Public Interface IBusinessLayer
Function GeefLijst(Of T)() As List(Of Object)
Sub OpvullenLijst()
End Interface
bij de functie geeflijst zou ik graag een anoniem type terugwerpen (aangezien ik verschillende lijsten zal hebben met verschillende objecten bv (list(of Chauffeurs), list (of Klanten), enz ) )
Bij de implementatie van de chauffeurslijst heb ik volgende code:
Ik heb met groen stuk code aangeduid ik heb mijn twijfels over dit stuk (heb ik gevonden op het internet) het zou gerust kunnen dat er hier al een wijziging moet gebeuren.
Code:
Public Class Chauffeurslijst : Implements IBusinessLayer
Private _itemsChauffeurslijst As New List(Of Chauffeur)
Public Function GeefLijst(Of T)() As System.Collections.Generic.List(Of Object) Implements IBusinessLayer.GeefLijst
Return _itemsChauffeurslijst[COLOR="#006400"][B][SIZE=5].ConvertAll(Of Object)(Function(x) CType(x, Object))[/SIZE][/B][/COLOR]
End Function
Public Sub OpvullenLijst() Implements IBusinessLayer.OpvullenLijst
Try
Dim mijnRepository As New Repository
mijnRepository.CreatieChauffeursLijst()
_itemsChauffeurslijst = mijnRepository.GeefChauffeursLijst
Catch ex As Exception
Throw New Exception(ex.Message)
End Try
End Sub
End Class
Op het form wil ik dan de methode van deze Chauffeurslijst aanroepen, ... hieronder een stuk van de code:
De met groen gemarkeerde tekst is weer een stuk waarvan ik niet zeker ben.
De met rood gemarkeerde tekst krijg ik volgende foutmelding: "Error 1 Type parameter 'T' for 'Public Function GeefLijst(Of T)() As System.Collections.Generic.List(Of Object)' cannot be inferred."
Code:
Public Class Form1
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Dim mijnchauffeurslijst As New Chauffeurslijst2
Dim dechauffeurslijst As New List(Of Chauffeur)
mijnchauffeurslijst.OpvullenLijst()
[COLOR="#FF0000"][SIZE=6] dechauffeurslijst = (mijnchauffeurslijst.GeefLijst())[COLOR="#006400"].ConvertAll(Of List(Of Object))(Function(x) CType(x, List(Of Chauffeur)))[/COLOR][/SIZE][/COLOR]
End Sub
End Class
Is er iemand die mij in de juiste richting kan duwen of gewoon een goeie oplossing kan geven hiervoor?
Alvast bedankt!