Uma classe de wrapper chamando um componente COM através do C# precisa implementar o padrão de disposição?

StackOverflow https://stackoverflow.com/questions/1559227

  •  21-09-2019
  •  | 
  •  

Pergunta

Eu tenho uma aula escrita em C# que está atuando como um invólucro em torno de um componente com. O componente COM é limitado precoce e o RCW foi gerado pelo Visual Studio. Devo implementar um padrão de disposição na minha classe de invólucro para limpar a referência COM, ou devo deixar o GC lidar com ela, pois já possui um RCW?

Foi útil?

Solução

Raramente existe um precisar Para implementar o Dispose, mas muitas vezes há boas razões para fazê -lo.

Se o objeto COM representar um recurso significativo que precisará ser liberado rapidamente, esse pode ser um bom motivo para implementar o Disposto.

No seu método de disposição, você pode fazer:-

 System.Runtime.InteropServices.Marshal.ReleaseComObject(myRCW);

Portanto, descartar sua classe lançará o objeto COM imediatamente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top