Bonjour,
Je cherche à définir une fonction convertissant une instance de la classe Produit en TreeNode pour être ensuite affiché dans un TreeView.
J'ai besoin de 2 fonctions, l'une convertissant un produit en un treenode et l'autre convertissant plusieurs produit en plusieurs treenode.
d'après vous parmi les 3 solutions suivantes, laquelle est réellement une surcharge ?
Solution 1:
La méthode ProduitToTreeNode est surchargée, la première convertit un produit en un treenode et l'autre utilise la première pour convertir plusieurs produits en plusieurs treenode. Les 2 méthodes ne font pas rigoureusement la même chose, je me demande donc si elle doit être surchargée.
Code c# : 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 public TreeNode ProduitToTreeNode(Produit pdt) { TreeNode tree = new TreeNode(pdt.Reference); tree.Name = pdt.Identifiant.ToString(); return tree; } public TreeNode[] ProduitToTreeNode(Produit[] pdtArray) { TreeNode[] trees = new TreeNode[pdtArray.Length]; for (int i = 0; i<pdtArray.Length; i++) { trees[i] = ProduitToTreeNode(pdtArray[i]); } return trees; }
Solution 2:
Pour cette solution, la méthode ProduitToTreeNode n'est pas surchargée.
Les 2 méthodes n'ont plus le même nom car je me dis que ne faisant pas rigoureusement la même chose elles ne peuvent avoir le même nom.
Code c# : 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 public TreeNode ProduitToTreeNode(Produit pdt) { TreeNode tree = new TreeNode(pdt.Reference); tree.Name = pdt.Identifiant.ToString(); return tree; } public TreeNode[] ProduitToTreeNodeArray(Produit[] pdtArray) { TreeNode[] trees = new TreeNode[pdtArray.Length]; for (int i = 0; i<pdtArray.Length; i++) { trees[i] = ProduitToTreeNode(pdtArray[i]); } return trees; }
Solution 3:
Et enfin la dernière solution qui me semble rigoureusement plus être une sucharge.
Code c# : 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 public TreeNode ProduitToTreeNode(Produit pdt) { return ProduitToTreeNode(new Produit[] { pdt})[0]; } public TreeNode[] ProduitToTreeNode(Produit[] pdtArray) { TreeNode[] trees = new TreeNode[pdtArray.Length]; for (int i = 0; i<pdtArray.Length; i++) { Produit pdt = pdtArray[i]; trees[i] = new TreeNode(pdt.Reference); trees[i].Name = pdt.Identifiant.ToString(); } return trees; }
Merci d'avance pour vos conseils.
Bye
Partager