| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > use of unassigned variable |
| Автор: nmn 13.1.2009, 18:52 | ||
что ж причины ошибки вроде бы понятны, исключение может возникнуть до присвоения h как можно сделать такую конструкцию, чтобы h.Free() вызвался обязательно, или это не надо, при возникновении исключения сборщик сам корректно удалит h? |
| Автор: hahol 13.1.2009, 18:58 |
| чёт я мало понял зачем это .... у тя в конце метода сборщик сам бы убрал всё ... но вроде можно в 3 блока писать . типа так try { какието действия } catch { если исключения } finally { при завершении } |
| Автор: Partizan 13.1.2009, 18:59 | ||
nmn,
|
| Автор: nmn 13.1.2009, 19:25 | ||||||
все бы хорошо, но GCHandle это значимый тип, причем не реализует IDisposable так что я вижу один вариант конструкции при которой Free обязательно вызовется
может есть лучше варианты? |
| Автор: nmn 14.1.2009, 02:24 | ||
мусоросборщик не обратит внимания на структуру, т.к. они размещаются стеке и удаляются по выходу из метода, к тому же GCHandle не реализует IDisposable |