Artigo: 315528 - Última revisão: sexta-feira, 11 de Maio de 2007 - Revisão: 2.6 Como implementar o método Dispose numa classe derivada no Visual Basic .NET ou no Visual Basic 2005
SumárioQuando criar uma classe que expande uma classe base, terá de alguma forma processar a versão do recursos atribuídos. Para efectuar este procedimento, o método de venda/abate da classe base deve ser substituído em classes derivadas. Este artigo aborda problemas comuns encontrados neste cenário, como substituir correctamente o método de venda/abate e deve clarificar alguns com as subtilezas 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 o tratamento de erros e para obter exemplos gerais sobre o método de venda/abate . Mais InformaçãoUma classe base tem de conter um conjunto de métodos de venda/abate sobrecarregado. A primeira ocorrência do código de exemplo que se segue é uma versão sem parâmetros, e a segunda ocorrência aceita um parâmetro booleano: Dispose() é o método é chamado quando um objecto é eliminado no código em que o objecto foi criado. Este é um método Public e por isso pode ser utilizado quando existe uma instância da classe. O método de Dispose() , em seguida, chama o método Dispose(Boolean) e passa um valor de TRUE . O método Dispose(Boolean) é responsável pela limpeza os recursos da classe. Quando uma classe é derivada de uma classe base, apenas o método Dispose(Boolean) tem de ser substituído. Todos os recursos-limpeza para a classe derivada serão executadas neste método substituídas e, em seguida, o método Dispose(Boolean) para a classe base é chamado. Segue-se um exemplo da função substituir a classe base primitivo: Dispose() destina-se como um ponto de entrada para acesso público a venda/abate de um objecto e para garantir que Verdadeiro é transmitida para o método Dispose(Boolean) . Falso devem ser passados apenas quando o método Dispose(Boolean) é chamado pelo método Finalize ou tempo de execução. Quando Falso é transmitida, vão ser eliminados apenas os recursos não geridos. Quando Verdadeiro é transmitida, ambos os recursos geridos e não geridos são eliminados. O ambiente de desenvolvimento Visual Studio insere o código para substituir o método Dispose() para uma classe que herda um objecto de sistema (por exemplo, Herda System.Windows.Forms.TextBox ). É efectuada de menus (na parte superior da janela de código, por predefinição) seleccionando a ignorar e, em seguida, clicando em Dispose() . O código que é inserido tem um aspecto semelhante ao seguinte: Ocorreu uma excepção não processada do tipo 'System.TypeLoadException' no system.windows.forms.dll. Obter informações adicionais: declaração faz referenciada numa implementação de método não pode ser um método final. Tipo: ClassLibrary1.UserControl1. Assemblagem: a venda/abate. Para corrigir este problema, basta sobrepor-se o método Dispose(Boolean) em vez de Dispose() e certifique-se que é efectuada uma chamada para o método Dispose(Boolean) da classe base e que Verdadeiro é transmitida ao mesmo. Nota : no Visual Basic .NET ou Visual Basic 2005, a palavra-chave Overridable é utilizada como a palavra-chave virtual no C# e C++. Métodos são, por predefinição, NotOverridable . Referências Tópicos de ajuda relacionados :
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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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 de Artigos |






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


Voltar ao topo