Stack Overflow на русском Asked on December 26, 2021
В каких случаях надо писать что то в теле деструктора ? Когда нам самим руками на особождать ресурсы?
Уже пишу год на c# не когда не писал что в деструкторе.
class Person
{
public:
Person(string n)
{
name = n;
}
~Person()
{
Debug.Log( "Destructor called for Person " + name );
}
private:
string name;
};
Большинство объектов, используемых в программах на C#, относятся к управляемым или managed-коду, и легко очищаются сборщиком мусора. Однако вместе с тем встречаются также и такие объекты, которые задействуют неуправляемые объекты (низкоуровневые файловые дескрипторы, сетевые подключения и т.д.). Такие неуправляемые объекты обращаются к API операционной системы через службы PInvoke. Сборщик мусора может справиться с управляемыми объектами, однако он не знает, как удалять неуправляемые объекты. В этом случае разработчик должен сам реализовывать механизмы очистки на уровне программного кода.
Освобождение неуправляемых ресурсов подразумевает реализацию одного из двух механизмов:
Answered by timur on December 26, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP