Interface probleem

Status
Niet open voor verdere reacties.

xanderke

Gebruiker
Lid geworden
23 feb 2013
Berichten
53
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:
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!
 
Opgelost...

Public Interface IBusinessLayer

Sub OpvullenLijst()
Function GeefLijst() As System.Collections.IList
End Interface

bij deze ...

Toch bedankt voor de mensen die moeite gedaan hebben
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan