Импортировать класс с небезопасным кодом - PullRequest
0 голосов
/ 13 апреля 2009

Например, у меня есть сторонний класс с небезопасным кодом в его методах. Это делает некоторые изменения памяти и не очищает память после себя. Бывает, что я должен использовать этот класс и это небезопасные методы. Подскажите, пожалуйста, что будет с этими байтами, написанными небезопасным кодом, после следующего прохода сборщика мусора.

Ответы [ 3 ]

4 голосов
/ 13 апреля 2009

Сборщик мусора их не трогает. С одной стороны, это приятно, потому что вам не нужно беспокоиться о том, что это может повлиять на неуправляемый код. С другой стороны, если вы не очистите их самостоятельно, это утечка памяти.

Каждый раз, когда вы используете небезопасный код, который выделяет память, я бы обернул его в объект, который реализует IDisposable. Если сторонний класс еще не реализует IDisposable, я бы создал новый класс для инкапсуляции функциональности.

2 голосов
/ 13 апреля 2009

.NET Garbage Collector не будет ничего делать с этими байтами, так как среда выполнения не выделяет их. Они просто останутся протекшими.

0 голосов
/ 13 апреля 2009

Ничего не происходит. С небезопасным кодом и выделением памяти, это небезопасный код для правильного освобождения системных ресурсов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...