[VB.NET] Qu'est qu'une ressource managée ?
Bonjour,
Je sais que le sujet a été abordé plusieurs fois sur ce forum, mais j'ai toujours du mal avec ca ...
Comment peut-on savoir si une ressource est managée ou pas ?
Par exemple, est ce que OdbcConnection est une ressource managée ?
Je travaille sur le destructeur de ma classe et j'ai donc implémenté l'interface IDisposable. Mais voilà ce qu'ils mettent dans l'aide :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| Public Class Base
Implements IDisposable
' Implement IDisposable.
Public Overloads Sub Dispose() Implements IDisposable.Dispose
Dispose(True)
GC.SuppressFinalize(Me)
End Sub
Protected Overridable Overloads Sub Dispose(ByVal disposing As Boolean)
If disposing Then
' Free other state (managed objects).
End If
' Free your own state (unmanaged objects).
' Set large fields to null.
End Sub
Protected Overrides Sub Finalize()
' Simply call Dispose(False).
Dispose(False)
End Sub
End Class |
Supposons que ma classe possède deux attributs, un de type ODBCConnection et l'autre de type DataSet.
Où dois-je mettre l'appel de la méthode Dispose() de chacun des éléments ? Dans unmanaged ou managed object ?
Merci pour votre aide car, pour moi, c'est vraiment pas clair.
Re: [VB.NET] Qu'est qu'une ressource managée ?
Citation:
Envoyé par leSeb
Supposons que ma classe possède deux attributs, un de type ODBCConnection et l'autre de type DataSet...
Dans ce cas de figure ce sont des objets qui ciblent le CLR donc managés. Je suppose qu'il faudrait par exemple des objets C++ pour les traiter dans la partie non managée.