Я довольно новичок в изучении C# (из Java & C++ background), и у меня есть вопрос об утилизации мусора вручную: возможно ли даже вручную уничтожить объект на C#? Я знаю об интерфейсе IDisposable
, но предположим, что я имею дело с классом, который я не писал, и он не реализует его? У него не было бы метода .Dispose()
, так что и using { }
отсутствовал, а .Finalize
всегда либо protected
, либо private
, так что это тоже не вариант.Вручную уничтожить объекты C#
(я просто пытаюсь узнать, что находится в C# в этом случае возможно. Я полагаю, что если все остальное не могу наследовать гипотетический ImNotDisposable
класс так, чтобы он делает реализации IDisposable.)
Возможно, вам следует пояснить вопрос: хотите ли вы полностью освободить объект или просто заставить его метод деструктора выполнить и очистить ресурсы объекта (только)? –
Я предполагал, что один подразумевал другой, но то, что я имел в виду, было каким-то способом «вызвать» метод ClassName(), который имеет объект. –
Итак, GC имеет метод Collect(), который практически не имеет ничего общего и никоим образом не нацелен на какой-либо конкретный объект. Попался. :) –