IDisposable, Finalizers e a definição de um recurso não gerenciado
Estou tentando ter certeza de que minha compreensão deIDisposable
está correto e há algo que eu ainda não tenho certeza.
IDisposable
parece servir dois propósitos.
Minha confusão vem de identificar quais cenários têm "recursos não gerenciados" em jogo.
Digamos que você esteja usando um computador da MicrosoftIDisposable
-implementando a classe (gerenciada) (digamos, relacionado ao banco de dados ou ao soquete).
IDisposable
por apenas1 ou1 e 2 acima?Você é responsável por garantir que os recursos não gerenciados que podem ou não manter internamente sejam liberados? Você deve adicionar um finalizador (seria esse o mecanismo correto?) À sua própria classe que chama instanceOfMsSuppliedClass.Dispose ()?