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

C# Discussion :

Déterminer le contexte d'exécution


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de elbj
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Services à domicile

    Informations forums :
    Inscription : Novembre 2004
    Messages : 371
    Par défaut Déterminer le contexte d'exécution
    Bonjour à tous

    J'écris actuellement une .dll dont les méthodes de classes doivent réagir différemment suivant que la .dll est référencée dans un projet Console, Winform ou WebForm.

    Je cherche laborieusement un moyen, dans le code, de déterminer quel est le contexte d'exécution (Console, Winform ou Webform) de manière à pouvoir écrire quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SI Contexte = 'Console' ALORS ...
    SINON SI Contexte = 'Winform' ALORS ...
    SINON SI Contexte = 'Webform' ALORS ...
    SINON Erreur...
    Quelqu'un saurait-il me dire s'il existe une classe permettant d'obtenir une réponse à mon problème ?

    Merci d'avance

    +++

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 206
    Par défaut
    Tu ne pourrais pas ajouter un paramètres à ta dll, renseigné lorsque tu l'utilises par le programme appelant et qui indique si c'est un appel console, winform ou webform ?

  3. #3
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Ce serait plus simple d'avoir une classe de base et des classes dérivées par "contexte" qui redéfiniront le nécessaire. L'utilisateur en fonction de son besoin utilise alors la bonne classe. Si possible en déléguant la création des objets à la classe de base. Suivant le besoin, ajouter une interface peut être utile.

    Quelque chose du style
    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
    public enum Contexte { Console = 0, WinForm, WebForm }
     
    public interface IMaClasse
    {
        ...
    }
     
    public abstract class MaClasse : IMaClasse
    {
        public IMaClasse Create(Contexte contexte)
        {
            switch(contexte)
            {
                case Contexte.Console:  
                    return new MaClasseConsole();
                case Contexte.WinForm:
                    return new MaClasseWinForm();
                case Contexte.WebForm:
                    return new MaClasseWebForm();
                default:
                    return null;
            }
        }
     
        public abstract void MethodeQuiDependDuContexte();
    }
     
    internal class MaClasseConsole : MaClasse
    {
        public override void MethodeQuiDependDuContexte()
        {
            ...
        }
    }
     
    internal class MaClasseWinForm : MaClasse
    {
        public override void MethodeQuiDependDuContexte()
        {
            ...
        }
    }
     
    internal class MaClasseWebForm : MaClasse
    {
        public override void MethodeQuiDependDuContexte()
        {
            ...
        }
    }

Discussions similaires

  1. Réponses: 9
    Dernier message: 28/09/2011, 17h47
  2. [TOS 3.2] passage de contexte d'exécution aux sous-jobs
    Par msomso dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 16/09/2011, 11h26
  3. contexte d'exécution de fonction
    Par hmartin1414 dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 11/03/2010, 09h50
  4. Déterminer / détecter le contexte d'exécution d'une application
    Par hapalemur dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 05/10/2009, 13h55
  5. Réponses: 3
    Dernier message: 20/04/2005, 12h30

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