Les classes en langage C#

L’astuce suivante décrit comment une classe peut être créée avec Visual Studio en langage C# pour tous les fichiers SOLIDWORKS . Cela peut être étendue avec d’autres fonctions si nécessaire. Cela devrait clarifier la gestion des classes et les rendre plus faciles à comprendre. Pour cela, un projet est créé puis une classe. Ensuite, nous montrerons comment cela est instancié et complété avec les propriétés et les méthodes.

1. INTRODUCTION

Lors de la création d’applications pour SOLIDWORKS, nous constatons rapidement que le code est simplement écrit dans une classe ou que le code apparaît deux fois. Ce qui conduit à son tour au fait qu’à un moment donné, il ne peut plus être lu par personne. Une fonction de base pour cela serait la création d’une classe qui regroupe toutes les informations et fonctions associées et gère ainsi tout en un seul endroit.

2. QU'EST CE QU'UNE CLASSE ?

En language C#, une classe est une collection de propriétés et de méthodes. Vous pouvez le voir comme ceci, par exemple: Une classe pour une voiture se compose des propriétés :

  • Couleur
  • nombre de portes
  • le prix de vente
  • ainsi que tout ce qui appartient à une voiture.

 

Une méthode, elle, consisterait, par exemple, à faire accélérer ou à faire freiner la voiture.

Transférées dans un fichier SOLIDWORKS, les propriétés seraient par exemple le chemin du fichier ou le type de fichier (pièce, assemblage ou dessin) présent.

Les différentes méthodes proposées par le logiciel peuvent être de déplacer ou de copier le fichier ou de modifier le fichier.

 

3. Créer un projet

Tout d’abord, un nouveau projet est créé afin qu’un projet vide (bien sûr, on peut utiliser un projet déjà existant) soit disponible. Ce projet pourrait ressembler à notre exemple sur l’illustration ci-dessous (image 1). Ce projet se compose actuellement d’un formulaire vide et d’une classe de programme qui démarre ce formulaire.

Image 1 : Projet vide

Pour une meilleure organisisation des fichiers, un dossier est créé (clic droit sur le projet – Ajouter – Nouveau dossier).

C’est ce qu’on appelle, par exemple, des modèles. Une nouvelle classe y est créée (clic droit sur le dossier – Ajouter – Classe).

Le nom de cette classe peut être par exemple SolidworksFile. Une fois que cela est fait, le projet doit ressembler à l’image 2.

Image 2 : Classe ajoutée

4. Mise en instance des classes

Maintenant, une classe a été créée et peut déjà être utilisée. Pour ce faire, nous devons basculer vers l’endroit où cette fonction doit être utilisée. Dans cet exemple, l’événement a été utilisé par le formulaire lors de son chargement. Cela peut être vu sur l’image 3.

Pour utiliser cette classe, écrivez simplement le nom de la classe, suivi de tout nom d’objet. Dans ce cas, “MySolidworksFile”. Une nouvelle instance de celui-ci est ensuite créée en saisissant

 

  • le mot-clé “new”
  • suivi du nom de la classe
  • et deux parenthèses ()

Si cela ne s’est pas déjà produit automatiquement, un «using» doit être ajouté à la nouvelle classe.

Image 3: Instance de la classe

5. Remplir la classe avec des propriétés

Il est désormais possible de travailler avec l’instance, mais les propriétés et méthodes sont toujours manquantes.

Pour ce faire, notre classe créée dans la section 3 est ouverte. La première chose à considérer est ce qui doit être sauvé. Pour commencer, le chemin du fichier et son type sont enregistrés. Le chemin est enregistré dans une chaîne et le type peut être enregistré en tant que valeur entière “int”. L’affectation suivante pourrait avoir lieu:

0 Pièce (SLDPRT)

1 assemblage (SLDASM)

2 Mise en plan (SLDDRW)

Sur l’image 4, vous pouvez voir à quoi peuvent ressembler les propriétés.

Ici, une chaîne est créée pour le chemin et une valeur int pour le type. Celles-ci reçoivent le mot-clé «privé» car il ne devrait pas être possible de modifier les valeurs à volonté, mais uniquement avec les méthodes de cette classe.

Image 4 : Propriétés de la classe

6. Remplir la classe avec les méthodes

Le constructeur est une méthode très spéciale. Il est toujours appelé en premier. Cela peut être utilisé pour calculer les valeurs dès le début. Cela permet également de transférer un paramètre lors de l’instanciation de l’objet.

Un constructeur est généré en créant simplement une méthode qui porte le nom de la classe. Cette méthode ne doit pas recevoir de valeur de retour et elle doit être identifié avec le mot-clé “public” afin qu’elle soit toujours disponible pour toutes les parties impliquées. Un chemin doit également toujours être spécifié lors de l’instanciation, afin que l’objet créé ultérieurement ait toujours accès à celui-ci. Ce paramètre est ensuite écrit directement dans notre variable. Le code devrait alors ressembler à l’image 5.

Image 5 : Constructeur de la classe

En outre, le calcul doit avoir lieu immédiatement pour savoir s’il s’agit d’une pièce, d’un assemblage ou d’une mise en plan.

Pour cela, nous utilisons une méthode existante de Microsoft.

Elle est disponible dans l’espace de noms System.IO. Avec Path.GetExtension (String), il est possible de lire l’extension de fichier à partir d’un chemin.

Cela peut être vérifié par exemple dans une instruction If ou Switch.

Sur l’image 6, cela a été résolu avec une instruction de commutation Switch et les types ont été attribués comme déjà définis. Lors de la vérification, l’extension de fichier est lue et tous les caractères sont écrits en minuscules avec .ToLower (). Cela sert à empêcher les extensions de fichiers différentes telles que “.sldprt” et “.SLDPRT”. Si aucune affectation ne peut avoir lieu, le type -1 est spécifié.

 

 

Image 6 : Calcul du type de fichier

Pour vérifier que tout fonctionne, nous pouvons également ajouter une méthode qui nous montre ce type.

Ainsi, une méthode publique est écrite avec la valeur de retour int. Le nom de la méthode peut être librement choisi. Sur l’image 7, le nom GetFileType a été utilisé.

Image 7 : Restitution du type de fichier

7. Utilisation des méthodes

Si vous ne l’avez pas déjà remarqué, l’instanciation effectuée dans la section 4 signalera maintenant une erreur. Cela se produit parce que nous avons explicitement défini dans la section 6 qu’un paramètre doit être renseigné. Ensuite, comme le montre l’image 8, le chemin du fichier est transféré.

Image 8: Ajout du paramètre

Une MessageBox a également été intégré, qui appelle la méthode “Get-FileType ()” de l’objet et affiche la valeur renvoyée.
Si le programme est maintenant exécuté, le premier type de fichier 0, puis le type de fichier 2 seront affichés.

8. CONCLUSION

La classe qui a maintenant été créée peut être étendue par n’importe quel nombre de méthodes et de propriétés. La création de classes est très simple et utile pour assurer une programmation structurée et lisible.

Dans mes prochains conseils techniques, je montrerai comment il est possible d’en hériter afin que ces fonctions soient également disponibles dans d’autres classes.

AUTEUR DE L'ARTICLE

Martin Möllenhoff, développeur R&D chez Visiativ Solutions Switzerland