ID do artigo: 315528 - Última revisão: sexta-feira, 11 de maio de 2007 - Revisão: 2.6 Como implementar o método Dispose em uma classe derivada no Visual Basic .NET ou no Visual Basic 2005
SumárioQuando você cria uma classe que estende uma classe base, você precisa manipular, de alguma forma, o lançamento de recursos alocados. Para fazer isso, o método Dispose da classe base deve ser substituído em classes derivadas. Este artigo descreve problemas comuns encontrados nesse cenário, como substituir corretamente o método Dispose e destina a esclarecer algumas das sutilezas no seguinte artigo ajuda Visual Basic. NET: http://msdn2.microsoft.com/en-us/library/fs2xkftw(vs.71).aspx
(http://msdn2.microsoft.com/en-us/library/fs2xkftw(vs.71).aspx)
Consulte este documento de Ajuda para obter informações detalhadas sobre tratamento de erros e exemplos gerais do método Dispose . Mais InformaçõesUma classe base precisa conter um conjunto sobrecarregado dos métodos Dispose . A primeira instância do código de exemplo que se segue é uma versão sem parâmetros, e a segunda instância aceita um parâmetro booleano: Dispose() é o método que é chamado quando um objeto é descartado no código no qual o objeto foi criado. Isso é um método Public e, portanto, ele pode ser usado quando existe uma instância da classe. O método Dispose() , em seguida, chama o método Dispose(Boolean) e passa um valor de Verdadeiro . O método Dispose(Boolean) é responsável pela limpeza de recursos da classe. Quando uma classe é derivada de uma classe base, somente o método Dispose(Boolean) precisa ser substituído. Todos os recursos-limpeza para a classe derivada será executada neste método substituído, e em seguida, o método Dispose(Boolean) para a classe base é chamado. A seguir está um exemplo da função substituindo a classe base primitivo: Dispose() serve como um ponto de entrada para acesso público a alienação de um objeto e para garantir que TRUE é passado para o método Dispose(Boolean) . FALSE deve ser passado somente quando o método Dispose(Boolean) é chamado pelo tempo de execução ou o método Finalize . Quando Falso é passado, somente os recursos não gerenciados serão ser descartados. Quando Verdadeiro é passado, os recursos gerenciados e não gerenciados são descartados. O ambiente de desenvolvimento Visual Studio insere o código para substituir o método Dispose() em uma classe que herda de um objeto do sistema (por exemplo, Inherits System.Windows.Forms.TextBox ). Isso é executado a partir dos menus (na parte superior da janela de código, por padrão) selecionando substituições e, em seguida, clicando em Dispose() . O código é inserido é semelhante a seguinte: Ocorreu uma exceção sem tratamento do tipo 'System.TypeLoadException' em system.windows.forms.dll. Obter informações adicionais: declaração referenciada na implementação de método não pode ser um método final. Tipo: ClassLibrary1.UserControl1. Assembly: Dispose. Para corrigir esse problema, basta sobrecarregar o método Dispose(Boolean) em vez de Dispose() e certifique-se que é feita uma chamada do método Dispose(Boolean) da classe base e que TRUE é passado para ele. Observação : no Visual Basic .NET ou no Visual Basic 2005, a palavra-chave Overridable é usada como a palavra-chave virtual em translation from VPE for Csharp e C++. Métodos são, por padrão, NotOverridable . Referências Tópicos relacionados da Ajuda :
A informação contida neste artigo aplica-se a:
Tradução automáticaIMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado. Clique aqui para ver a versão em Inglês deste artigo: 315528
(http://support.microsoft.com/kb/315528/en-us/
)
| Outros Recursos Outros Sites de Suporte
ComunidadesObtenha Ajuda AgoraTraduções deste artigo
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Voltar para o início