Результаты поиска по запросу "idisposable"

19 ответов

The only real exception to this would be if you have a lot of memory tied up in managed objects and you've blocked that thread waiting for some operation to complete. If those objects where not going to be needed after that call completed then setting those references to null might allow the garbage collector to collect them sooner. But that scenario would represent bad code that needed to be refactored - not a use case of IDisposable.

ю из чтениядокументация MSDN [http://msdn.microsoft.com/en-us/library/system.idisposable.aspx]что «основное» использованиеIDisposable Интерфейс для очистки неуправляемых ресурсов. Для меня «неуправляемый» означает такие вещи, как соединения с ...

4 ответа

 в вашем коде теперь создается жесткая зависимость от Autofac. Весь связанный с DI код должен четко содержаться в наборе классов конфигурации (Модули в мире Autofac).

но я стал активным пользователем функции Autofac OwnedInstances. Например, я использую его для предоставления фабрики для создания Unit Work для моей базы данных, что означает, что мои классы, которые зависят от фабрики UnitOfWork, запрашивают ...

1 ответ

Если вы не знаете, что определенный класс IDisposable объекта может быть безопасно оставлен, не делайте этого. Всегда убирайте за собой, когда это возможно. «Завершение» (процесс уведомления объектов, от которых они отказались) опасен и может создать много гейзенгов. Не полагайтесь на это, если существует какая-либо практическая альтернатива.

ли кто-нибудь объяснить, что может случиться, если вы этого не сделаетеDispose несколькоIDisposable организация(поusing или прямойDispose вызов)? Всегда ли это приводит кутечка памятии если да,C# утечки памяти похожи наC++ утечки памяти, где ...

ТОП публикаций

3 ответа

Управление прототипами, с другой стороны, является полностью ответственностью вызывающего кода.

я есть вопрос, и я собираюсь отметить этосубъективный так как это то, что я думаю, это превращается в большую дискуссию. Я надеюсь на некоторые хорошие идеи или провокаторов. Я прошу прощения за многословный вопрос, но вы должны ...

6 ответов

«Создатель - владелец» - это возможное руководство по дизайну, но, как уже указывает ваш ответ: не всегда понятно, кто является создателем (заводской или заводской клиент?). Желательно четко и явно задокументировать это. Как показывает мой собственный ответ, вы можете даже передать право собственности.

я есть объект, который стоит дорого создать, который использует некоторые неуправляемые ресурсы, которые должны быть явно освобождены, когда это делается, и поэтому реализуют IDisposable (). Я хотел бы, например, кэш этих дорогих ресурсов, чтобы ...

8 ответов

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

квивалентного механизма в C ++ (деструктор) совет состоит в том, чтоэто обычно не должно бросать какие-либо исключения [http://www.parashift.com/c++-faq-lite/exceptions.html#faq-17.3], Это происходит главным образом потому, что таким образом вы ...

4 ответа

Возможно, разрешенный вами интерфейс не наследуется от IDisposable, но фактический используемый класс обслуживания делает? Как справиться с этим? и т.п.

жен рассмотреть код, сделанный другим человеком, у которого есть некоторые утечки памяти. Прямо сейчас я ищу в одноразовых объектах их код с помощью оператора using, и я хотел бы знать, есть ли быстрый способ, который сообщает вам все объявленные ...

1 ответ

это не полный пример @ MSDN: MSDN показывает только реализацию базового класса, а не пример базового класса / производного класса.

ользую шаблон реализации по умолчанию (шаблон) для моего кода. фрагмент кода: public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } protected virtual void Dispose(bool isDisposing) { if (!this.disposed) { if (isDisposing) { ...

7 ответов

@mphair, если бы все было IDisposable, то легко быть последовательным.

го, что я могу сказать, принято правило, что если у вас есть класс A с членом m, который является IDisposable, A должен реализовать IDisposable, и он должен вызывать m.Dispose () внутри него. Я не могу найти вескую причину, почему это так. Я ...

6 ответов

Чтобы поместить вещи в «ресурсы», объект получает ресурс, когда он просит внешнюю сущность сделать что-то от его имени (как правило, хотя и не обязательно, предоставляя исключительное использование чего-либо) до дальнейшего уведомления, и освобождает ресурс, когда он говорит, что внешнему субъекту его услуги больше не требуются. Код, который получает ресурс, не получает «вещь» в той степени, в которой он берет на себя обязательство; Освобождение ресурса не оставляет «вещь», но выполняет обязательство.

в .NET есть сборка мусора, тогда зачем вам явно вызыватьIDisposable?