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 :

Petite souci de compréhension des namespace et using


Sujet :

ASP.NET

  1. #1
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut Petite souci de compréhension des namespace et using
    Bonjour à tous.

    J'ai un souci d'accès à une procédure de ma fabrication. je vais tenter de faire une présentation simple de mon code actuel. je pense que mon souci vient de pas grand chose, mais je sèche.

    Donc j'ai une page Default.aspx et dnas le CodeBehind j'ai placé une classe comme cela, en bas de fichier :
    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
     
    namespace SystemC
    {
        public class AccessData
        {
            public AccessData()
            {
            }
            public DataTable RetournerTable(string rq, SqlParameter[] param)
            {
    //le code de la fonction
    return Table;
            }
    }
    }
    Dans la page default.aspx si je fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DataTable DTComposant = new SystemC.AccessData().RetournerTable("EXEC dbo.CORE_ListeComposantPage @IdPage", LParamPage);
    ça fonctionne trés bien.

    Si je passe dans une autre classe qui se trouve dans un ficher de code .CS placé dans al répertoire App_Code ça marche plus et il me dit en soulignant AccessData :
    Erreur 6 Le type ou le nom d'espace de noms 'AccessData' n'existe pas dans l'espace de noms 'SystemC' (une référence d'assembly est-elle manquante*?) D:\inetpub\SystemC\App_Code\Outils.cs 65 49 http://www.systemc.maison/
    Du coup, je comprends pas bien.
    Dans mon fichier de classe le namespace SystemC est repris.

    Voyez vous où ce trouve l'erreur ?

    Merci

  2. #2
    Membre confirmé
    Femme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Marne (Champagne Ardenne)

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 339
    Points : 586
    Points
    586
    Par défaut
    Dans ton projet, tu dois ajouter une référence vers le namespace correspondant (explorateur de solution > clic droit sur ton projet > add a reference)

  3. #3
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Merci pour ton aide.
    Dans l'ajout de référence je ne trouve pas le moyen d'ajouter une référence au namespace SystemC.

    Je comprends pas ce que je peux faire.

  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 : 43
    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 753
    Points
    39 753
    Par défaut
    Citation Envoyé par Isythiel Voir le message
    Dans ton projet, tu dois ajouter une référence vers le namespace correspondant (explorateur de solution > clic droit sur ton projet > add a reference)
    On ajoute pas une référence à un namespace mais à un assembly... C'est deux notions complètement différentes : les namespaces sont des unités d'organisation "logique" du code, alors que les assemblies sont des unités d'organisation "physique". Des classes qui appartiennent au même namespace peuvent très bien être dans différents assemblies, et inversement, un assembly peut contenir des classes de différents namespaces

  5. #5
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Ok tomlev, j'arrive à suivre l'idée, mais je vois encore moins, alors, pourquoi je n'ai pas accès à ma classe depuis une autre classe alors que tout ce petit monde est dans le même NameSpace.

  6. #6
    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 : 43
    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 753
    Points
    39 753
    Par défaut
    Citation Envoyé par zooffy Voir le message
    Donc j'ai une page Default.aspx et dnas le CodeBehind j'ai placé une classe comme cela, en bas de fichier :
    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
     
    namespace SystemC
    {
        public class AccessData
        {
            public AccessData()
            {
            }
            public DataTable RetournerTable(string rq, SqlParameter[] param)
            {
    //le code de la fonction
    return Table;
            }
    }
    }
    <parenthèse>
    Pourquoi dans le code-behind ? ça n'a rien à faire là, le code-behind c'est juste pour la vue...
    </parenthèse>


    Par hasard, tu n'aurais pas imbriqué ça dans le namespace SystemC ? Genre comme ça :

    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
    namespace SystemC
    {
     
        publicclass Default : Page
        {
            ...
        }
     
        namespace SystemC
        {
            public class AccessData
            {
               ...
            }
        }
    }
    Parce que si c'est le cas, ta classe AccessData n'est pas dans SystemC mais dans SystemC.SystemC... Donc dans la classe Default, tu peux y accéder via SystemC.AccessData ("chemin" relatif à partir du namespace SystemC où tu te trouves déjà), mais pour y accéder d'un autre endroit c'est SystemC.SystemC.AccessData

    Et au fait, c'est quel type de projet ? appli web ou site web ?

  7. #7
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Alors la parenthèse : par fainéantise, tout simplement. A priori, ça ne change rien à la compilation, donc c'est juste histoire de l'avoir dans ce fichier là pour ne pas faire un fichier de Classe dans le App_code de plus.

    L'imbrication : aprés vérification, non, aucune imbrication de ce type, j'ai bien tout relu.

    Le Type de projet : site web.

    Avec ça tu vois le souci ?

  8. #8
    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 : 43
    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 753
    Points
    39 753
    Par défaut
    Citation Envoyé par zooffy Voir le message
    Le Type de projet : site web.

    Avec ça tu vois le souci ?
    Pas vraiment en fait... je fais toujours des applis web et non des sites, parce qu'avec les sites VS fait plein de trucs bizarres que je comprends pas

    Si tu mets juste "AccessData", VS t'affiche pas un petit smart tag ? (Ctrl + . pour le dérouler, ou alors clique dessus)

  9. #9
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Alors si je tape SystemC. avec un ctrl + espace je n'ai pas AccessData dans la liste.

    Par contre en déplaçant la classe AccessDatadans un fichier de Classe je l'ai et tout marche !!!!

    Dois je en déduire que la fainéantise n'est pas si bonne que ça ? !!

    En tout cas merci du coup de main.

  10. #10
    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 : 43
    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 753
    Points
    39 753
    Par défaut
    Citation Envoyé par zooffy Voir le message
    Dois je en déduire que la fainéantise n'est pas si bonne que ça ? !!
    Dans ce cas précis, non, ce n'était apparemment pas une bonne chose

    En fait je pense que c'est lié à la façon dont le code des pages est compilé dans un projet website : le code-behind n'est compilé qu'au dernier moment, à l'exécution ; il n'y a pas de compilation préalable dans Visual Studio. Donc si ta classe est dans le code-behind, elle n'est pas encore accessible dans App_Code
    (je sais pas si c'est la bonne explication, mais ça doit être un truc dans ce goût là)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 22
    Dernier message: 04/04/2012, 12h17
  2. Souci de compréhension des sqlparameter
    Par zooffy dans le forum ASP.NET
    Réponses: 5
    Dernier message: 03/10/2011, 17h01
  3. Petit souci de compréhension de la Position
    Par zooffy dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 22/02/2011, 15h29
  4. Réponses: 1
    Dernier message: 08/07/2010, 13h23
  5. Petit soucis de compréhension
    Par AlexB59 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 26/10/2005, 11h18

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