отличие Finalize от деструктора
От: -rsdn- Беларусь http://dsalodki.wix.com/resume
Дата: 08.03.14 15:09
Оценка: :))
читаю статьи вроде
http://habrahabr.ru/post/122639/

Но деструктор и финализатор в .NET это не то же самое, что просто деструктор и финализатор в обычном мире.


//        ~MyClass() { }

        protected void Finalize()
        {
            
        }


использую решарпер который предлагает последний меод заменить на деструктор
Re: отличие Finalize от деструктора
От: -rsdn- Беларусь http://dsalodki.wix.com/resume
Дата: 08.03.14 15:28
Оценка: :)
можно раскоментировать деструктор — его вызов сработает, однако финайлер ничего не выведет — вывод это разные вещи
тогда не понятно почему тот же решарпер предлагает заменить на деструктор
кстати слово Finalize иногда используется в msdn http://msdn.microsoft.com/en-us/library/system.object.finalize.aspx
//        ~MyClass()
//        {
//            Console.WriteLine("Finalize");
//        }

        protected void Finalize()
        {
            Console.WriteLine("Finalize");
        }
....
        static void Main(string[] args)
        {
            mc = new MyClass();
        }
Re: отличие Finalize от деструктора
От: 0x7be СССР  
Дата: 08.03.14 15:30
Оценка:
Здравствуйте, -rsdn-, Вы писали:

R>Но деструктор и финализатор в .NET это не то же самое, что просто деструктор и финализатор в обычном мире.

Деструктор в С# — это всего лишь синтаксический сахар для финализатора.
Re: отличие Finalize от деструктора
От: Doc Россия http://andrey.moveax.ru
Дата: 09.03.14 01:17
Оценка:
Здравствуйте, -rsdn-, Вы писали:

R>использую решарпер который предлагает последний меод заменить на деструктор


В .NET нет деструкторов. Поэтому ~MyClass всего лишь форма записи финализатора.
Если надо освобождать ресурсы в конкретной точке кода, используйте using + IDisposable
Re: отличие Finalize от деструктора
От: Sinix  
Дата: 11.03.14 09:26
Оценка:
Здравствуйте, -rsdn-, Вы писали:

R>читаю статьи вроде

R>http://habrahabr.ru/post/122639/

За очень редкими исключениями хабр лучше не использовать для изучения чего-либо. Возьмите Рихтера, любое издание.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.