Salut tout le monde.
J'ai décidé de me mettre au C# alors que je fais du VB depuis pas mal d'années. Du coup, au lieu de me goinfrer un tuto empirique j'ai pris le parti de reprendre ce que j'ai fait en VB et de le "traduire" en C#. Aprés quelques déboires j'en suis à faire une classe externe, mais avant j'aimerais prendre votre avis sur la conception de la chose. Il est fort possible que je me sois gaullé sur la conception du biniou.
Je vais vous soumettre mon cheminement et j'espère vos critiques consctructives pour me dire où je me suis planté. Ensuite, je traduis tout en C# (vous m'excuserais donc de placer du code VB)
D'abords j'ai fais ma classe avec ce genre de chose :
Donc, j'ai fais un Namespace ProjetX (que j'ai mis dans toutes mes classes) pour pouvoir accéder à la chose facilement.
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 Imports Microsoft.VisualBasic Namespace ProjetX Public Class Outils Public Shared Sub RemplirListe(ByRef lstParam As Object, ByVal rq As String) 'l'idée ici est d'envoyer une référence à un DDL pour la remplir avec une requête envoyée en paramettre 'je ne mets pas le code liu même car il n'y a que peu d'intérêt End Sub Public Shared Function GetApplicationGUID() As Guid 'Fonction de récupération du GUID de l'application courante 'là c'est histoire de vous montrer que je fais aussi des Function pour retourner quelquechose. End Function End Class End Namespace
Dans le web.config j'ai mis ça :
J'ai mis d'autre NameSpace, mais c'est pas utile de tout remettre ici, histoire de pas surcharger. Je n'ai rien mis d'autres dans le web.confgi concernant la classe Outils.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <system.web> <pages theme="" validateRequest="false"> <namespaces> <clear/> <add namespace="ProjetX"/> </namespaces>
Ensuite, dans mon code, n'importe où (page, ASCX, autre classe externe, ...) j'utilise la chose comme ça :
Tout ça fonctionne trés bien, mais je me demande s'il n'y a pas plus performant et plus pratique encore. Et du coup, vu que je passe au C#, est ce qu'il n'y a pas un truc plus mieux avec ce Langage ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Imports ProjetX.Outils Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init Dim a as String = GetApplicationGUID().ToString 'ou encore, avec une DDL placée côté HTML RemplirListe(ddl, "la requête SQL") 'ou même si je fabrique la DDL dans le CodeBehind Dim ddlCB as New DropDownList RemplirListe(ddlCB, "la requête SQL") End Sub
Vous noterez également l'absence de Sub New dans ma classe. Cet ensemble d'outil sert à rammener des paramettres pour le site qui sont stockés en base, remplir des listes déroulantes de manière automatique en éliminant le code répétitif du remplissage d'une liste (que ce soit DDL ou CheckBoxList, ou autre), récupérer des GUID d'application ou d'utilisateur et encore plein de trucs utiles dans plein de page qui demande 5-6 lignes et qu'il est plus simple de ne pas répéter avec un appel de Sub ou de Function.
Auriez vous l'amabilité de corriger ma conception ou de confirmer que j'ai eu la bonne démarche ?
Partager