Это зависит от того, что вы подразумеваете под «очисткой» -
Если вы просто имеете в виду освобождение управляемой памяти, то не существует прямого способа очистки памяти для ваших объектов и только ваших объектов. На самом деле, вы бы этого не хотели - GC очень эффективен, и попытка «контролировать» его приводит к путанице в эвристике. Это одна из причин, почему вызов GC.Collect
напрямую - плохая идея.
Если вы управляете ресурсами, такими как собственные ресурсы или другие подобные концепции, которые должны быть освобождены, то IDisposable
- это путь. Вы должны реализовать это должным образом, что сильно отличается от вашего примера кода. Для получения подробной информации о правильной реализации, вы можете увидеть мою серию на IDisposable .