by
Jenner Maciejewsky
4. março 2008 07:29
Uma preocupação que todo desenvolvedor sempre tem é com o gerenciamento de recursos de Memória. Essa preocupação já foi maior principalmente quando você precisava até mesmo de informar o endereço de memória a ser usado, preocupar com o total de memória que sua aplicação estaria alocando.
Apesar do .NET ter recursos para gerenciar automaticamente a memória, fazendo a coleta de lixo na memória (Garbage Collector), ainda assim é preciso tomar cuidado com classes que alocam muitos recursos do sistema, uma vez que o Garbage Collector (GC) não faz a limpeza imediatamente assim que a aplicação deixa de utilizá-lo.
Para ajudar o desenvolvedor o .NET permite o uso do Dispose que permite a liberação imediata do recurso alocado, para isso sua classe precisa implementar a interface System.Idisposable.
Code Snippet
- ' A defini??o do IDisposable
- Public Interface IDisposable
- Sub Dispose()
-
- End Interface
Um Exemplo de como implementar o IDisposable em sua Classe
Code Snippet
- Imports System
-
- Public Class MinhaClasse
- Implements IDisposable
- Private disposedValue As Boolean = False ' Utilizado para controlar redundancia de chamadas
- ' IDisposable
- Protected Overridable Sub Dispose(ByVal disposing As Boolean)
-
- If Not Me.disposedValue Then
- If disposing Then
- End If
-
- Console.WriteLine("Objeto Liberado")
- Me.disposedValue = True
-
- End If
- End Sub
-
- ' Esse codigo foi adicionado pelo Visual Basic para correta implementa??o do padr?o disposable.
- Public Sub Dispose() Implements IDisposable.Dispose ' N?o altere do codigo abaixo.
-
- Dispose(True)
- GC.SuppressFinalize(Me)
- End Sub
- Public Sub Mensagem()
- Console.WriteLine("Esta ? a MinhaClasse")
- End Sub
- End Class
-
-
- ' Codigo que demonstra o uso do Dispose
- Public Class EntryPoint
-
-
- Shared Sub Main()
-
-
- Dim a As MinhaClasse = New MinhaClasse 'Cria o objeto MinhaClasse
- Try
-
-
- a.Mensagem() 'Chama um metodo do Objeto
- Finally
- a.Dispose() 'Chama o Metodo Dispose do Objeto
- End Try
- End Sub
- End Class
Mais informações:
Recomendação de Livros:
Titulo: Accelerated VB 2005
Editora: Apress
Autor: Guy Fouché e Trey Nash
ISBN 13: 978-1-59059-801-6
ISBN 10: 1-59059-801-6
Titulo:
Beginning Object-Oriented Programming with VB 2005: From Novice to ProfessionalEditora:
ApressAutor: Daniel R. Clark
ISBN 13: 978-1-59059-576-3
ISBN 10: 1-59059-576-9
Jenner Maciejewsky Rocha
MVP Visual Basic