Какие управляемые классы в Платформе.NET выделяют (или использование) неуправляемую память?

Самый легкий способ просматривать/редактировать декларации в скомпилированных приложениях использует Тюнер Ресурса: http://www.restuner.com/tour-manifest.htm

В некоторых случаях, это более устойчиво, чем mt.exe от MS, и это - визуальный инструмент.

6
задан LBushkin 4 October 2009 в 02:27
поделиться

3 ответа

Если он реализует IDisposable , велика вероятность, что он владеет неуправляемыми данными или владеет управляемым классом, который в конечном итоге владеет неуправляемыми данными. Если он имеет Finalize () , это означает, что он напрямую владеет неуправляемыми данными.

Как правило, если он реализует IDisposable , то Dispose () как только вы закончите.

5
ответ дан 17 December 2019 в 02:31
поделиться

Насколько мне известно, единого документа нет который описывает или определяет, какие классы в структуре используют неуправляемые ресурсы. Документация MSDN для конкретного класса может, но это потребует от вас взглянуть на определенные классы.

В целом, можно с уверенностью сказать, что многие классы в какой-то момент используют некоторый неуправляемый код. Например, многие элементы управления Windows Forms представляют собой просто оболочки вокруг элементов управления Win32, поэтому они используют неуправляемые ресурсы.

1
ответ дан 17 December 2019 в 02:31
поделиться

Вы должны быть осторожны, когда класс реализует IDisposable. Обычно это указывает на использование неуправляемых ресурсов, которые, однако, не ограничиваются памятью, но также могут быть дескрипторами файлов, сокетами и т. Д.

Хорошим индикатором для этого является использование классом IntPtr .

0
ответ дан 17 December 2019 в 02:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: