IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Comment créer une librairie pour y mettre les fonctions et les constante dedans ! C#


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2012
    Messages : 10
    Par défaut Comment créer une librairie pour y mettre les fonctions et les constante dedans ! C#
    Bonjour tout le monde.

    j'ai créer un projet de type windows universal sous visual studio et j'ai créer beaucoup de fonction et de constante dans le namespace nommé accelerometer.

    je voudrais savoir est ce qu'il y a un moyen de créer un autre fichier C# ou librairie pour y mettre toutes ces fonctions et les constante pour que je puisse alleger un peux le code source principale.

    est ce possible ?

  2. #2
    Membre très actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2014
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Août 2014
    Messages : 218
    Par défaut
    Bonjour

    Ta description n'est pas très claire, mais je suppose que tu parles d'une classe "static" : https://msdn.microsoft.com/fr-fr/library/79b3xss3.aspx

    Accessoirement :
    - les "fonctions" ça n'existe pas en C#, on ne connait que les "méthodes" (pouvant retourner un résultat ou pas) et les "propriétés".
    - contrairement à, par exemple, Java, la notion de fichier n'est pas liée à celle de classe en C# (sauf par compportement par défaut de l'IDE) : une classe peut être éclatée sur plusieurs fichiers sources et un fichier source peut contenir plusieurs classes (ce qui n'est pas recommandé en général).

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2012
    Messages : 10
    Par défaut
    OK je vous explique un peux,

    je suis en train de faire un projet de type windows universal sous visual studio pour ma carte raspbperry pi 2. cette derniere tourne sous windows 10 IOT.

    je communique avec une puce electronique dont le role est de mesurer l'energie a travers le protocole serie I2c. Bref c'est pas ca mon probleme.
    le probleme et que je dois definir dans mon code principale l'adresse des registres et il y en a plein

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    private const UInt16 MASK0_Addr = 0xE50A;
    private const UInt16 MASK1_Addr = 0xE50B;
    private const UInt16 IAWV_Addr = 0xE50C;
    private const UInt16 IBWV_Addr = 0xE50D;
    private const UInt16 ICWV_Addr = 0xE50E;
    private const UInt16 INWV_Addr = 0xE50F;
    ........
    Il y a presque une cinquantaine adresse pour registres a definir encore.

    en plus j'ai créer des fonctions de lecture et d'ecriture et d'autre fonction que je veux aussi m'en débarrasser du programme principale et les mettres dans un autre fichier ou librairie

    si j'etais sous le language C j'aurais créer un autre fichier source par exemple Function.c avec son fichier d'en tete Function.h et mettre dedans toutes ces constantes et fonctions repetitive. ensuite il suffit d'inclure ce fichier dans mon code principal #include "Function.h"




    Donc je voudrais savoir s'il y a une solution de ce genre avec le C# ?? t merci

  4. #4
    Membre très actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2014
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Août 2014
    Messages : 218
    Par défaut
    Citation Envoyé par tizana Voir le message
    Donc je voudrais savoir s'il y a une solution de ce genre avec le C# ?? t merci
    La réponse est celle que je t"ai donnée supra : une classe statique.

  5. #5
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 479
    Par défaut
    Fais pareil qu'en C ; une nouvelle classe (clic droit / nouvelle classe sur ton projet ) colle tes attributs et passes les en public sinon tu ne les verras pas. Pas besoin d'une classe statique s'ils sont constants.
    Sinon tu peux faire un enum que tu mets dans un nouveau fichier.cs. Pas forcément besoin qu'il soit dans une classe ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public enum ADRESSES : ushort
    {
        MASK0_Addr = 0xE50A,
        MASK1_Addr = 0xE50B,
        IAWV_Addr = 0xE50C,
        IBWV_Addr = 0xE50D,
        ICWV_Addr = 0xE50E //etc...
    }
    Faire une librairie n'a d’intérêt que si tu veux partager les mêmes fonctions / contantes / classes entre plusieurs exécutables. Ceci pour le ne pas multiplier les mêmes lignes de code.

  6. #6
    Membre très actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2014
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Août 2014
    Messages : 218
    Par défaut
    Citation Envoyé par lead8209 Voir le message
    Pas besoin d'une classe statique s'ils sont constants.e.
    Créer une classe non static dont l'instanciation ne sert à rien (pas de membre d'instance) n'est pas génant mais est quand même un peu bizarre.
    Et rien n'empêche de metrre des const dans une classe static.

    Sinon, il n'y pas de difference majeure entre une variable const et une variable static readonly mais il y en a.

    le const peut s'utiliser dans un switch en argument case, pas le static readonly et concernant le const il y a semble-t-il (pas testé) un bug assez amusant; voir ici : http://answers.unity3d.com/questions...#answer-486904

Discussions similaires

  1. Réponses: 10
    Dernier message: 26/03/2008, 22h37
  2. Réponses: 4
    Dernier message: 20/08/2006, 16h20
  3. [VB]Comment créer une propriété pour un activex
    Par darksantor dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 08/06/2006, 21h17
  4. Réponses: 4
    Dernier message: 24/03/2006, 16h49
  5. Réponses: 7
    Dernier message: 29/07/2005, 09h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo