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

VB.NET Discussion :

Usage d'une classe dans d'autres classes


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    378
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 378
    Par défaut Usage d'une classe dans d'autres classes
    Bonjour,

    J'ai un projet qui utilise une classe pour gérer les logs (du classique donc )
    Cette classe est définie en "Public" et a été créée en tant que bibliothèque de classes.

    Le projet contient d'autres bibliothèques de classe. Le problème est que je n'arrive pas à utiliser la classe de logs dans les autres bibliothèques, elles aussi définies en "Public".
    J'ai l'erreur
    Une référence à un membre non partagé requiert une référence d'objet.
    Je suppose qu'il s'agit d'un problème de déclaration mais comme je suis débutant dans le domaine, j'ai besoin de votre aide.
    Merci.

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 453
    Par défaut
    il faut que tu instancie ta classe, avec un singleton par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private _Instance As maClasseDeLog
     
    Public Function getInstance() As maClasseDeLog
            If _Instance Is Nothing Then
                _Instance = New maClasseDeLog
            End If
            Return _Instance
        End Function

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    378
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 378
    Par défaut
    Je ne comprends pas comment utiliser ce bout de code

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 453
    Par défaut
    Dans ta classe log tu écris cette fonction (getInstance) et tu l'instancie dans les pages où tu en as besoin

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Public Class bidon
            Private log As maClassLog = maClassLog.getInstance
     
            'ton code
            log.lesFonctionsDeLaClassLog
        End Class

  5. #5
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2010
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2010
    Messages : 151
    Par défaut
    Bonjour,

    Pourquoi ne pas avoir créé ta classe en Module ; ça te permet d'avoir un accès public sans instanciation.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Module ModuleLog
    Public Sub loggue(ByRef str as String)
    'Tes instructions
    End Sub
    End Module
    @+

    Mat

  6. #6
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Citation Envoyé par matll Voir le message
    Pourquoi ne pas avoir créé ta classe en Module ; ça te permet d'avoir un accès public sans instanciation.
    Mat
    Parce que c'est un truc pas beau qui a aucun rapport avec de la programmation objet (un des (trop) nombreux restes de VB).

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/06/2009, 10h56
  2. [Joomla!] appel de fonction d'une autre classe dans un autre fichier
    Par lkryss dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 27/07/2007, 16h55
  3. Appeler une classe dans un autre package
    Par Nasky dans le forum Langage
    Réponses: 6
    Dernier message: 21/02/2007, 16h06
  4. Réponses: 4
    Dernier message: 25/07/2006, 16h30
  5. Utilisation d'une classe dans un autre fichier
    Par melotron dans le forum Général Python
    Réponses: 1
    Dernier message: 09/07/2006, 13h11

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