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

ASP.NET Discussion :

[C#2.0] Remplacer une fonction existante dans une classe par une autre


Sujet :

ASP.NET

  1. #1
    Membre habitué Avatar de mioux
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2005
    Messages
    367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2005
    Messages : 367
    Points : 191
    Points
    191
    Par défaut [C#2.0] Remplacer une fonction existante dans une classe par une autre
    Salut

    Je cherche à savoir s'il existe un moyen de "remplacer" une fonction d'une classe par une fonction que j'aurai défini moi même mais qui appelle l'ancienne fonction tout de même

    En gros je veux faire ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SqlCommand.ExecuteNonQuery()
    {
        DateTime start = DateTime.Now;
        this.ExecuteNonQuery();
        TimeSpan diff = DateTime.Now - start;
     
        Requettes.Show(this, diff.ToString());
    }
    mais je me demande si c'est possible

  2. #2
    Membre habitué Avatar de Ishizaki
    Inscrit en
    Avril 2006
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 262
    Points : 175
    Points
    175
    Par défaut
    J'pas compris... Tveux faire un override ?

  3. #3
    Membre habitué Avatar de mioux
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2005
    Messages
    367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2005
    Messages : 367
    Points : 191
    Points
    191
    Par défaut
    Citation Envoyé par Ishizaki Voir le message
    J'pas compris... Tveux faire un override ?
    En fait, je voudrais faire un override sur une fonction membre d'un objet, et ce, de manière globale à mon application...

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    En principe tu pourrais faire une classe héritée de SqlCommand pour redéfinis la méthode ExecuteNonQuery, mais SqlCommand est sealed (on ne peut pas en hériter)...
    Mais de toutes façons c'est maladroit de mettre des fonctionnalités d'interface graphique dans du code qui concerne l'accès aux données. Si tu veux chronométrer la fonction, fais le en dehors.

  5. #5
    Membre habitué Avatar de mioux
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2005
    Messages
    367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2005
    Messages : 367
    Points : 191
    Points
    191
    Par défaut
    Citation Envoyé par tomlev Voir le message
    En principe tu pourrais faire une classe héritée de SqlCommand pour redéfinis la méthode ExecuteNonQuery, mais SqlCommand est sealed (on ne peut pas en hériter)...
    Mais de toutes façons c'est maladroit de mettre des fonctionnalités d'interface graphique dans du code qui concerne l'accès aux données. Si tu veux chronométrer la fonction, fais le en dehors.

    En fait, c'est justement parce que je ne sais pas à quel endroit est appelé le ExecuteNonQuery que je voulais redéfinir la fonction. La fonction Show m'affiche les requettes exécutées avec les paramètres et leurs valeurs et le temps d'exécution. Seulement je voudrais que cet affichage se fasse pour toute requette exécutée (et quand je me met en mode débug, mais ca c'est une autre histoire, c'est simplement une variable d'application à changer (je ne suis pas en debug avec le debugger de visual studio)).

    Le truc c'est que j'avais 2 requettes qui me semblaient identique (même code source à la base, comparés avec crc32 et windiff) et que je voulais afficher tout ce qui se passait. Sinon normalement je met bien le chronométrage en dehors de la récupération et de l'utilisation des données, sauf que je l'ai pas fait partout, c'est une fonctionnalité que j'ai rajouté récement pour un autre problème (problème de requettes qui mettaient très peu de temps à s'exécuter en dev, alors qu'en productions la même page était beaucoup plus lente, je voulais savoir si ca venait du serveur SQL ou du serveur d'application)

Discussions similaires

  1. Réponses: 6
    Dernier message: 17/06/2011, 11h44
  2. Réponses: 7
    Dernier message: 09/06/2011, 14h32
  3. [XL-2003] Utilisation d'une fonction VBA dans la formule d'une cellule
    Par robx2309 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/05/2011, 00h41
  4. Réponses: 8
    Dernier message: 05/04/2011, 08h06
  5. Réponses: 3
    Dernier message: 06/11/2005, 18h02

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