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 :

[C#] méthode Dispose ?


Sujet :

Windows Forms

  1. #1
    Membre habitué
    Inscrit en
    Février 2004
    Messages
    303
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 303
    Points : 143
    Points
    143
    Par défaut [C#] méthode Dispose ?
    Bonjour à tous,

    Comment puis-je libèrer mon objet "ds1" car si j'ajoute "ds1.Dispose()" après l'instruction "return ds1" celle-ci n'est pas exécutée .


    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
    ...
    DataSet ds = new DataSet()
    ds = FonctionDS()
    ...
     
    private DataSet FonctionDS()
    {
    ...
    DataSet ds1 = new DataSet();
    ds1.ReadXml(myXmlReader);
    myXmlReader.Close();
    return ds1;
    ds1.Dispose();
    ...
    }
    Avez-vous une idée?

    Merci.

    Yves

  2. #2
    Membre expérimenté
    Avatar de freddyboy
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2003
    Messages
    810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2003
    Messages : 810
    Points : 1 696
    Points
    1 696
    Par défaut
    il me semble que dans ton cas pour liberer ds1 il faut que tu libere ds. Ta fonction FonctionDS te renvoie une reference sur un objet DataSet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    DataSet ds = new DataSet()
    ds = FonctionDS()
    ...
    ds.dispose();
     
    private DataSet FonctionDS()
    {
    ...
    DataSet ds1 = new DataSet();
    ds1.ReadXml(myXmlReader);
    myXmlReader.Close();
    return ds1;
    }
    @+
    Someday I will be the most powerful Jedi !

    Freddyboy - Blog

  3. #3
    Membre habitué
    Inscrit en
    Février 2004
    Messages
    303
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 303
    Points : 143
    Points
    143
    Par défaut
    Tout simplement !

    A première vue, il n'est pas nécessaire de faire un "ds.Clear()" avant d'appeler la méthode "Dispose()" ?

    Merci.

    Yves

  4. #4
    Membre expérimenté
    Avatar de freddyboy
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2003
    Messages
    810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2003
    Messages : 810
    Points : 1 696
    Points
    1 696
    Par défaut
    non pas forcement mais tu peux le faire.

    @+
    Someday I will be the most powerful Jedi !

    Freddyboy - Blog

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

Discussions similaires

  1. [VB.NET 2003] méthode "dispose"
    Par Kropernic dans le forum Windows Forms
    Réponses: 3
    Dernier message: 19/02/2008, 09h13
  2. Surcharge méthode dispose()
    Par Bebert71 dans le forum NetBeans
    Réponses: 4
    Dernier message: 26/01/2008, 17h46
  3. Méthode dispose c#
    Par GTJuanpablo dans le forum C#
    Réponses: 4
    Dernier message: 19/02/2007, 18h22
  4. Réponses: 8
    Dernier message: 09/01/2007, 13h11
  5. [.NET] Pourquoi redéfinir la méthode dispose() d'une forme?
    Par Polyptyx dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 07/09/2004, 12h10

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