Bonjour,
Je suis en train de reprendre un projet laissé de côté pendant un certain temps, et qui devra être utilisé d'ici peu.
Je tombe sur un hic, je ne suis plus à la page, et je bloque sur un problème idiot.
On a des classes d'objets divers, qui sont stockés dans ce cas précis en listes : List (of Object)
Pour effectuer un traitement générique sur chaque List (il y en a plusieurs dizaines), j'ai bien une solution bête, faire une fonction par classe.
Mais tant qu'à faire je préfèrerais une seule fonction qui serait valable pour toutes les classes d'où le List(of Object).
Mon seul souci est que dans une boucle, afin d'ajouter un nouvel élément à la liste, j'ai besoin de créer un nouvel objet avec New
Et je ne sais pas comment faire pour dire que c'est un objet de la classe de la liste.
Voici la fonction. Elle utilise une chaîne contenant une liste d'ID enregs, et doit remplir la liste en ne tenant compte que de cet ID (les autres valeurs de la classe sont inutiles à cet instant et sont renseignées plus tard).
J'avais bien pensé à Lst(0).GetType() pour remplacé les ??? mais çà ne va pas.
Une idée, un conseil ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Function decode_List(str_Var As String, lst As List(Of Object)) As String ' Vide la liste lst.Clear() ' Eclate la chaine récupérée en liste de clés Dim lstSplit As List(Of String) = str_Var.Split(New Char() {","c}, StringSplitOptions.RemoveEmptyEntries).ToList() ' Remplit la liste avec les clés stockées For Each s As String In lstSplit Dim obj As New ??? obj.Code = CInt(s) lst.Add(obj) Next End Function
Merci






Répondre avec citation


Partager