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 :

Conseils pour améliorer ma fonction


Sujet :

Windows Forms

  1. #1
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 20
    Points : 25
    Points
    25
    Par défaut Conseils pour améliorer ma fonction
    Cette fonction permet de récupérer le numéro de version du Framework le plus récent installé sur le PC :

    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
    public static string LastFrameWorkVersion
            {
                get
                {
                    Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Net Framework Setup\NDP\v1.1.4322");
                    Microsoft.Win32.RegistryKey key2 = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Net Framework Setup\NDP\v2.0.50727");
                    Microsoft.Win32.RegistryKey key3 = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Net Framework Setup\NDP\v3.0");
                    Microsoft.Win32.RegistryKey key4 = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Net Framework Setup\NDP\v3.5");
     
                    if (key4 == null)
                        if (key3 == null)
                            if (key2 == null)
                                if (key == null)
                                    return null;
                                else
                                    return (string)key.GetValue("Version");
                            else
                                return (string)key2.GetValue("Version");
                        else
                            return (string)key3.GetValue("Version");
                    else
                        return (string)key4.GetValue("Version");
                }
            }
    J'aimerais avoir quelques pistes pour l'améliorer notamment au niveau récursivité si c'est possible. Merci.

  2. #2
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Citation Envoyé par Sergio29 Voir le message
    Cette fonction permet de récupérer le numéro de version du Framework le plus récent installé sur le PC :

    J'aimerais avoir quelques pistes pour l'améliorer notamment au niveau récursivité si c'est possible. Merci.
    Et qu'est ce que tu veux améliorer là-dedans ? Le code n'est déjà pas bien épais

  3. #3
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 20
    Points : 25
    Points
    25
    Par défaut
    et bien éviter d'avoir 4 variables à tester...

    En remontant d'un cran la clé de registre [@"SOFTWARE\Microsoft\Net Framework Setup\NDP] et en utilisant un foreach, peut-on arriver au même résultat ?

  4. #4
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Coalescence !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    using Microsft.Win32;
    RegistryKey key =
        Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Net Framework Setup\NDP\v1.1.4322") ??
        Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Net Framework Setup\NDP\v2.0.50727") ??
        Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Net Framework Setup\NDP\v3.0") ??
        Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Net Framework Setup\NDP\v3.5");
     
    return (key != null) ? key.GetValue("Version") : null;
    Comme je le disais dans je sais plus quel thread, "??", c'est bien (parfois )

  5. #5
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Utilise plutôt la méthode GetSubKeyNames pour lister les entrées et les examiner; ce sera un peu plus propre.

Discussions similaires

  1. [PHP 5.1] Besoin de conseil pour optimiser une fonction
    Par renaud26 dans le forum Langage
    Réponses: 3
    Dernier message: 14/08/2017, 08h11
  2. Conseils pour améliorer mon .htaccess
    Par lunarnet76 dans le forum Zend Framework
    Réponses: 2
    Dernier message: 10/05/2009, 22h53
  3. [AJAX] Un conseil pour améliorer cette fonction d'appel générique ?
    Par RomainVALERI dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 11/12/2008, 13h20
  4. Conseil pour améliorer ce code
    Par Godzestla dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 07/11/2008, 13h46
  5. Réponses: 5
    Dernier message: 09/02/2008, 20h05

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