Bonjour,

Je réalise ma première classe générique et je rencontre quelques soucis, certains ont été résolu un autre pas moyen.

Je suis en vb.net, j'ai besoin de recaster mon List(Of T) afin d'affecter mes stades, et j'en aurais besoin par la suite à l'extérieure de la classe également en fonction du type "T" pour par exemple afficher/sauvegarder en base (2 tables différentes) des propriétés différentes en fonction de l'objet.

Ci dessous le code simplifié avec l'essentiel.

merci de votre aide

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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
 
 
Public Class Traitement
 
    Private sub TraiteData()
 
    select case Type
        case "C"
              Dim c As New Avancement(Of AvancementC)(elementsBDD)
              'Recup stades BDD et affectation 
              c.AffecteStades(stadeBDD_C)
 
 
        case "A"
              Dim a As New Avancement(Of AvancementA)(elementsBDD)
              a.AffecteStades(stadeBDD_A)
    end sub
end Class
 
 
 
Public Class Avancement(of T As AvancementBase)
 
	private compo as List(Of T)
 
	Public sub AffecteStade(Stades as list(Of stadeC_BDD) )		
 
		dim stade = new Stade(stadeC_BDD.libelle,stadeC_BDD.taux,stadeC_BDD.ordre)
 
		'Doit affecter dans compo les stades : dépends de 2 variables
		'idkey et idSubKey
 
 
	end sub
 
	Public sub AffecteStade(Stades as list(Of stadeA_BDD))
 
		'Doit affecter dans compo les stades : dépends de 1 variable
 
		dim stade = new Stade(stadeA_BDD.libelle & " - " &  stadeA_BDD.Annexe,stadeA_BDD.taux,stadeA_BDD.ordre)
 
		'Doit affecter dans compo les stades : dépends de 1 variable
		'idkey
	end sub
 
 
	Public sub New(Elements As List(Of T))
        me.compo = elements
    End sub
 
End class
 
Public Class AvancementBase
	private libelle as string
	private idKey as long
	private montant as decimal
 
	public stades as list(of Stade)
 
end class
 
Public Class AvancementC
	inherits AvancementBase
 
	private idSubKey as long
 
end class
 
Public Class AvancementA
	inherits AvancementBase	
end class
 
Public Class Stade
 libelle as string
 Taux as decimal
 TauxAvancement as decimal
 
 Public sub new(Libelle,Taux,ordre)
	 me.libelle = libelle
	 me.taux = taux
	 me.ordre = ordre
 end sub
 
end classe