Вопросы по теме 'idisposable'

Когда я могу удалить элемент управления IDisposable WPF, например. WindowsFormsHost?
Элемент управления WPF WindowsFormsHost наследуется от IDisposable. Если у меня есть сложное визуальное дерево WPF, содержащее некоторые из вышеперечисленных элементов управления, какое событие или метод я могу использовать для вызова IDispose во...
11013 просмотров
schedule 11.05.2022

Что лучше и когда: использование оператора или вызов Dispose () для IDisposable в C #?
Предположим, у меня есть следующее: using(var ctx = DataContextFactory.Create(0)) { ... Some code ... } Почему бы просто не сделать следующее и не потерять пару фигурных скобок ?: var ctx = DataContextFactory.Create(0); ctx.Dispose();...
4781 просмотров
schedule 15.05.2023

Почему сборщик мусора не удаляет членов моего класса автоматически?
Когда я создаю следующий код C++/CLI в VS2008, отображается предупреждение об анализе кода CA1001. ref class A { public: A() { m_hwnd = new HWND; } ~A() { this->!A(); } protected: !A() { delete m_hwnd; } HWND* m_hwnd; };...
599 просмотров

Должен ли класс с членом Thread реализовывать IDisposable?
Допустим, у меня есть класс Logger , который регистрирует строки в низкоприоритетном рабочем потоке, который не является фоновым потоком. Строки ставятся в очередь в Logger.WriteLine и пережевываются в Logger.Worker . Никакие строки в очереди...
944 просмотров
schedule 19.07.2022

Использование использования для удаления вложенных объектов
Если у меня есть код с такими вложенными объектами, как этот, мне нужно использовать вложенные операторы using, чтобы убедиться, что объекты SQLCommand и SQLConnection утилизированы должным образом, как показано ниже, или я в порядке, если код,...
1677 просмотров
schedule 27.05.2022

Веб-службы ASP.NET пропускают память при (де) сериализации одноразовых объектов?
В следующих двух случаях, если Customer является одноразовым (реализующим IDisposable), я полагаю, что он не будет удален ASP.NET, что может быть причиной утечки памяти: [WebMethod] public Customer FetchCustomer(int id) {...
2049 просмотров

Как найти все классы, реализующие IDisposable?
Я работаю над большим проектом, и одной из моих задач является устранение возможных утечек памяти. В моем коде я заметил, что несколько элементов IDisposable не удаляются, и исправил это. Однако это приводит меня к более основному вопросу: как мне...
4915 просмотров
schedule 09.04.2022

Почему `` использует '' улучшение производительности C #
Кажется, что в большинстве случаев компилятор C # может вызывать Dispose() автоматически. Как и большинство случаев, шаблон using выглядит так: public void SomeMethod() { ... using (var foo = new Foo()) { ... }...
895 просмотров

Как вы закрываете приложение, когда какой-то WaitHandle находится в середине вызова WaitOne?
Существует ли стандартный способ «чистого» закрытия приложения, в то время как некоторые объекты WaitHandle могут находиться в состоянии текущего блокирующего вызова WaitOne ? Например, может быть фоновый поток, который работает в таком методе:...
2079 просмотров

Что произойдет, если я вернусь до окончания использования оператора? Будет ли вызвана диспозиция?
У меня есть следующий код using(MemoryStream ms = new MemoryStream()) { //code return 0; } Метод dispose() вызывается в конце using фигурных скобок } , верно? Поскольку I return до конца оператора using , будет ли объект...
31106 просмотров
schedule 11.06.2022

Можно ли запускать события из Dispose()?
В моем текущем проекте я использую классы, которые реализуют следующий интерфейс ITransaction , показанный ниже. Это общий интерфейс для транзакции, которую можно отменить. У меня также есть класс TransactionSet , который используется для попытки...
1651 просмотров
schedule 17.12.2023

Написание собственного метода Dispose вместо использования Idisposable
Прочитав множество статей о IDisposable , я запутался в его использовании. Во всех статьях объясняется, что это такое и как это реализовать, но я хочу понять, что мы пропустим, если у нас этого не будет. Вот пример класса, реализующего...
2387 просмотров
schedule 01.05.2022

Финализатор и IDisposable
На основе документации (MSDN: ссылка ), Понятно, что при реализации финализатора следует использовать шаблон IDisposable. Но нужно ли вам реализовать финализатор, если вы реализуете IDisposable (чтобы обеспечить детерминированный способ удаления...
4870 просмотров

Потоковая безопасность методов утилизации?
MSDN довольно хорошо документирует потокобезопасность экземпляров-членов типов BCL, но я никогда не видел информации, указывающей, как может быть вызван метод Dispose типов IDisposable . Является ли метод Dispose а) гарантированно...
6570 просмотров
schedule 10.10.2022

Правильное использование метода Dispose в классе, реализующем IDisposable
Сегодня я работал с некоторым кодом, который использовал такой класс System.Net.Mail.MailMessage public MailMessage CreateMessage(string fromAddress, string recipient) { MailMessage message = new MailMessage(fromAddress, recipient);...
1305 просмотров
schedule 01.03.2023

Сборка мусора с помощью IDisposable
Я разговаривал с человеком об использовании инструкции(). Он сказал, что если мы НЕ будем использовать оператор using() для чего-то вроде StreamWriter, если произойдет какое-либо исключение, ресурс НИКОГДА не будет собран. Я понимаю, что нужно...
944 просмотров
schedule 27.12.2023

Шаблон проектирования для блока try/catch для OutOfMemoryException в .NET
У меня есть приложение, которое работает с большими объемами данных, и я думаю, что, может быть, иногда будет выбрасываться OutOfMemoryException (За пол года у меня не было ни одного исключения, но я просто хочу знать все о Это). Как я выяснил,...
909 просмотров
schedule 16.07.2022

CA2000: объект не расположен по всем путям исключений
У меня возникли проблемы с попыткой выяснить, почему я получаю это предупреждение в следующем коде. CA2000 : Microsoft.Reliability : в методе 'Encryption64.Decrypt(String, String)' объект 'des' не размещается по всем путям исключений. Вызовите...
1498 просмотров
schedule 03.06.2022

Внешний список SharePoint, утечка памяти
будет ли утечка памяти, если я верну внешний список вызывающей стороне, используя метод, как показано ниже? public static SPList getList(string listName) { SPList list = null; using...
160 просмотров

IDisposable + шаблон финализатора
Глядя на шаблон IDisposable + шаблон Finalizer, я кое-что не понимаю: public class ComplexCleanupBase : IDisposable { private bool disposed = false; // to detect redundant calls public ComplexCleanupBase() { // allocate...
266 просмотров