Bonjour,

Je me posais une question sur la gestion de la vie d'un objet dans mon application.

J'effectue un certains nombre de requêtes vers une base de donnée et je traite le resultat comme suis :

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
25
26
27
28
29
30
Public Sub PS_Select_Absence_Type_Abbreviation()
        Dim monDataAdapter As New SqlDataAdapter
        Dim monDataSet As New DataSet
        Dim maDataTable As New DataTable
        Dim locAbsTypeTmp As New ArrayList()
 
        Try
            Using maCnx
                maCmd = maCnx.CreateCommand
                maCmd.CommandType = CommandType.StoredProcedure
                maCmd.CommandText = "PS_Select_Absence_Type_Abbreviation"
 
                monDataAdapter.SelectCommand = maCmd
                monDataAdapter.Fill(maDataTable)
            End Using
 
            For ligne = 0 To maDataTable.Rows.Count - 1
                locAbsTypeTmp = New ArrayList()
                locAbsTypeTmp.Add(maDataTable(ligne)(0))
                locAbsTypeTmp.Add(maDataTable(ligne)(1))
                reqAbsAbbrev.Add(locAbsTypeTmp)
            Next
 
        Catch ex As Exception
            MsgBox("erreur retournée : " & ex.ToString)
            LogErreur("erreur retournée : " & vbCrLf & " fonction PS_Select_Absence_Type_Abbreviation " & ex.ToString)
            erreurPretraitement = False
        End Try
 
    End Sub
Ici pour chaque ligne de resultat de ma requête je crée une nouvelle instance de mon objet locAbsTypeTmp .
Je stock ensuite mes valeurs.
Et j'insere ensuite cette instance de mon objet dans ma collection de resultat.

Ma question est la suivante, pour bien programmer en objet pour chaque new il devrait y avoir un dispose.

Je voulais savoir si pour chaque tour de boucle je peux/dois faire un dispose sur locAbsTypeTmp une fois que j'ai inséré les valeurs dans reqAbsAbbrev?

Je suis preneur de toutes remarques et observation.

Merci d'avance

++