Soy bastante nuevo para aprender C# (de Java & fondo C++) y tengo una pregunta sobre la eliminación manual de basura: ¿es posible destruir manualmente un objeto en C#? Sé sobre la interfaz IDisposable
, pero supongamos que estoy tratando con una clase que no escribí y que no la implementa. No tendría un método .Dispose()
, por lo que using { }
está desactivado, y .Finalize
siempre es protected
o private
, por lo que tampoco es una opción.Destruir manualmente objetos C#
(Estoy tratando de aprender lo que es posible en C# en este caso. Supongo que si todo lo demás falla que pudiera heredar la hipotética clase ImNotDisposable
para que no implementar IDisposable.)
Quizás debería aclarar la pregunta: ¿Desea desasignar un objeto por completo o simplemente forzar su método destructor para ejecutar y limpiar los recursos del objeto (únicamente)? –
Supuse que uno implicaba al otro, pero lo que tenía en mente era alguna forma de "activar" el método ~ ClassName() que tiene un objeto. –
Para resumir, GC tiene el método Collect() que es prácticamente todo o nada, y no hay forma de apuntar a un objeto específico. Gotcha. :) –