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

IDisposable Winform
Как лучше всего реализовать IDisposable в Winform? У меня есть диалог, расширяющий System.Windows.Forms.Form Созданный файл designer.cs уже содержит реализацию виртуального метода Dispose (bool). В моей форме есть поле, добавленное вручную,...
1088 просмотров
schedule 19.04.2022

Синглтон с финализатором, но не с IDisposable
Вот что я понимаю об IDisposable и финализаторах из "CLR via C #", "Effective C #" и других ресурсов: IDisposable предназначен для детерминированной очистки управляемых и неуправляемых ресурсов. Классы, отвечающие за неуправляемые ресурсы...
4301 просмотров
schedule 02.03.2022

Как GC и IDispose работают в C#?
Я помню, что загружал изображения, передавая их из сети прямо в растровое изображение. закройте поток, верните растровое изображение и сохраните его в элементе управления изображением. Я исключал, что когда я делал = loadPicture(), первое...
2278 просмотров
schedule 18.07.2022

Сериализация XML без удаления
using (var file_stream = File.Create("users.xml")) { var serializer = new XmlSerializer(typeof(PasswordManager)); serializer.Serialize(file_stream, this); file_stream.Close(); }...
4665 просмотров
schedule 13.11.2022

Могу ли я избавиться от этих неуправляемых ресурсов, не требуя ссылки на каждый из них?
У меня есть класс bMainframe, который управляет подключениями к 4 различным мейнфреймам. Это позволяет открывать одну и ту же базовую неуправляемую библиотеку определенным образом и одновременно подключать более одного мейнфрейма. Каждая библиотека...
250 просмотров
schedule 08.11.2023

Нужно ли закрывать C # BinaryWriter или BinaryReader в блоке using?
Имея этот код: using (BinaryWriter writer = new BinaryWriter(File.Open(ProjectPath, FileMode.Create))) { //save something here } Нам нужно закрыть BinaryWriter? Если нет, то почему?
5890 просмотров
schedule 05.04.2024

Вручную уничтожать объекты C#
Я новичок в изучении С# (из фона Java и С++), и у меня есть вопрос о ручном удалении мусора: возможно ли вообще вручную уничтожить объект в С#? Я знаю об интерфейсе IDisposable , но предположим, что я имею дело с классом, который я не писал, и он...
78697 просмотров
schedule 24.03.2022

IDisposable и COM
Поскольку COM-объекты содержат ресурсы, не относящиеся к памяти, но не поддерживают IDisposable, я пробую некоторые идеи, чтобы их подделать. Что вы думаете о моей первой попытке? Public Function ComBlock(ByVal ParamArray comObjects As Object())...
464 просмотров
schedule 30.11.2022

Как выполнить модульное тестирование финализатора?
У меня есть следующий класс, который является декоратором для объекта IDisposable (я пропустил то, что он добавляет), который сам реализует IDisposable с использованием общего шаблона: public class DisposableDecorator : IDisposable {...
7927 просмотров
schedule 29.05.2023

.NET — замена вложенных операторов использования одним оператором использования
Если вы столкнулись с подобным кодом C# с вложенными операторами/ресурсами использования: using (var response = (HttpWebResponse)request.GetResponse()) { using (var responseStream = response.GetResponseStream()) { using (var reader...
3941 просмотров
schedule 24.09.2022

Удаление объекта, введенного конструктором
Допустим, у меня есть класс, который ассоциирует себя с другим классом. Это выглядело бы примерно так: public class DisposableClassOne : IDisposable { private class mDisposableClassTwo; public DisplosableClassOne(DisposableClassTwo...
2402 просмотров

Должен ли я реализовать GC.SupressFinalize на IDisposable И Finalize?
Контрольный список проверки кода на моем новом клиентском месте имеет следующее: Класс, реализующий Dispose и Finalize, должен иметь вызов GC.SupressFinalize в реализации Dispose Почему? Если он не читается как класс, реализующий...
477 просмотров

Как мне реализовать IDisposable в этом контексте?
Я использую Entity Framework 4 вместе с MSSQL для хранения и доступа к данным в моем приложении Windows Forms. Вот пример класса, который я использую для доступа к данным: public class StudentRepository : IDisposable { ColegioDBEntities db...
194 просмотров
schedule 05.02.2023

Разрешение правила анализа кода CA2000 в этом сценарии?
Я выполняю полный анализ кода в своем проекте, и он говорит, что у него 500 проблем. Сейчас я сократил его до 300, но я борюсь с проблемой, для которой не могу найти решения. Правило CA2000 гласит: Если одноразовый объект не удаляется...
598 просмотров
schedule 13.03.2023

Отключение/исправление предупреждений анализа кода из файлов .Designer.cs
Я активно использую DataVisualization.Charting.Chart , и по большей части он работает. Тем не менее, я часто выполняю анализ кода и позаботился обо всех своих собственных предупреждениях. Но в файлах *.Designer.cs, использующих диаграммы, имеется...
4161 просмотров
schedule 05.04.2024

Приведение к IDisposable перед вызовом Dispose()
В чем причина приведения к IDisposable перед вызовом Dispose() ? public interface ITransaction : IDisposable {} . . . //in some other class: public void EndTransaction(ITransaction transaction) { if (transaction != null) {...
1614 просмотров
schedule 13.03.2024

Как правильно использовать оператор using в моем коде
Это мой код: Bitmap bmp = ImageManipulator.GetMyImageModified(bmp); Bitmap tempBMP = ImageManipulator.cropImage(bmp, rect); tempBMP = ImageManipulator.CopyToBpp(tempBMP, 1); string bmpFilename = String.Format("File{0}.png", indexNum);...
263 просмотров
schedule 17.01.2024

Нужно ли использовать Dispose() при использовании пользовательского ServiceHostFactory?
Нужно ли использовать Dispose() при использовании пользовательского ServiceHostFactory? В моем файле WCF .svc я определил пользовательскую фабрику как: <%@ ServiceHost Factory="Service.ServiceHostFactory" %> Похоже, что Dispose() не...
664 просмотров
schedule 14.07.2023

Код IDisposable при завершении процесса
У меня есть старая добрая служба Windows (наследующая от System.ServiceProcess.ServiceBase), к которой я добавил компонент (реализующий IComponent) с помощью this.components.Add(new MyStuff()); Однако Disposable() MyStuff не запускается, если я...
648 просмотров

FxCop (/VS2010 Code Analysis), можно ли теперь пометить результат метода как ответственность вызывающей стороны для IDisposable?
Если я напишу следующий код: public void Execute() { var stream = new MemoryStream(); ... } тогда анализ кода пометит это как: Предупреждение 1 CA2000: Microsoft.Reliability: в методе «ServiceUser.Execute()» вызовите...
474 просмотров