dispose

Czy musisz usuwać obiekty i ustawiać je na null?

Czy trzeba pozbywać się obiektów i ustawiać je na null, czy też garbage collector wyczyści je, gdy wyjdą poza zasięg?

Finalize vs Dispose

Dlaczego niektórzy ludzie używają metody Finalize zamiast metody Dispose? W jakich sytuacjach użyłbyś metody Finalize zamiast metody Dispose i odwrotnie?

Should I Dispose () DataSet and DataTable?

DataSet i DataTable implementują IDisposable, więc, według konwencjonalnych najlepszych praktyk, powinienem nazwać ich metody ... ępnego elementu? Czy sugerujesz, żebym zadzwonił do myDataSet?Dispose () i zapomnij o usuwaniu DataTables w myDataSet.Stoły?

Jaka jest różnica między używaniem IDisposable a destruktorem w C#?

Kiedy zaimplementowałbym IDispose na klasie w przeciwieństwie do destruktora? Czytałem Ten artykuł, ale wciąż nie rozumiem ... . Czy to prawda? Czy to znaczy, że powinienem zawsze jawnie wywoływać Dispose na obiekcie? Jakie są tego typowe przykłady?

Czy Śmieciarz zadzwoni IDisposable.Pozbywasz się mnie?

. NET IDisposable Pattern implikuje, że jeśli napiszesz finalizer i zaimplementujesz IDisposable, Twój finalizer musi jawnie ... a ten temat, i było wiele rzeczy sugerowane, nigdy nie byłem w stanie znaleźć ostateczne Tak lub nie ODPOWIEDŹ na to pytanie.

Czy dopuszczalne jest nie wywołanie Dispose () na obiekcie zadania TPL?

Chcę uruchomić zadanie na wątku w tle. Nie chcę czekać na zakończenie zadań. W. NET 3.5 zrobiłbym tak: ThreadPool.QueueUse ... wiedni sposób pozbycia się Task obiektu, który przegapiłem? czy jest inny sposób wykonywania zadań fire & forget z TPL?

Po co wywoływać dispose (false) w destruktorze?

Poniżej znajduje się typowy przykład wzoru usuwania: public bool IsDisposed { get; private set; } #region IDisposable M ... e nic, więc po co ktoś miałby pisać taki kod? Czy nie miałoby sensu po prostunie wywoływać pozbycia się destruktora w ogóle?

Jak zapobiec rozprzestrzenianiu się IDisposable na wszystkie klasy?

Zacznij od tych prostych klas... Powiedzmy, że mam prosty zestaw klas takich jak: class Bus { Driver busDriver = new D ... obiec rozprzestrzenianiu się IDisposable, ale nadal upewnić się, że Twoje niezarządzane przedmioty są prawidłowo utylizowane?

Jak pozbyć się klasy in.net?

. NET garbage collector w końcu zwolni pamięć, ale co, jeśli chcesz natychmiast odzyskać tę pamięć? Jaki kod należy użyć w klasie MyClass, aby wywołać MyClass.Dispose() I zwolnić całą używaną przestrzeń przez zmienne i obiekty w MyClass?

Różnica między metodą destruktora, dispose i finalize

Badam jak garbage collector działa w c#. Jestem zdezorientowany co do korzystania z Destructor, Dispose i Finalize metody. ... e jestem pewien, czy dobrze to Rozumiem. Proszę wyjaśnić wątpliwości. Wszelkie dalsze linki lub przewodniki są mile widziane.

Usuwanie kontroli użytkownika WPF

Stworzyłem niestandardową kontrolę użytkownika WPF, która jest przeznaczona do użytku przez stronę trzecią. Moja kontrola ma ... zenie Shutdownstarted dyspozytora. Czy to rozsądne podejście? this.Dispatcher.ShutdownStarted += Dispatcher_ShutdownStarted;

Jakie najlepsze praktyki w sprzątaniu referencji obsługi wydarzeń?

Często znajduję się pisząc kod w ten sposób: if (Session != null) { Session.KillAllProcesses(); ... , co pamiętam, aby zrobić za każdym razem, gdy dołączam się do wydarzenia, abym mógł zapewnić, że będzie mi łatwo posprzątać.

Co się stanie, jeśli wrócę przed zakończeniem korzystania z instrukcji? Czy dyspozycja zostanie wywołana?

Mam następujący kod using(MemoryStream ms = new MemoryStream()) { //code return 0; } Metoda dispose() jest wywo ... żenia } prawda? Skoro I return przed zakończeniem using, czy obiekt MemoryStream będzie prawidłowo usuwany? Co tu się dzieje?

Czy SqlCommand.Zamknąć połączenie?

Czy Mogę efektywnie wykorzystać to podejście? using(SqlCommand cmd = new SqlCommand("GetSomething", new SqlConnection(Config ... zmi: czy metoda Dispose polecenia SQL (wywoływana po wyjściu z bloku using) zamknie podstawowy obiekt SqlConnection, czy nie?

Dispose vs Dispose (bool)

/ Align = "left" / Staram się, aby mój kod usuwał zasoby poprawnie. Tak więc ustawiałem moje klasy jako IDisposable (z met ... ę nimi, kiedy je wyczyści. Musisz tylko martwić się o prawdziwe zasoby natywne, które zostały przydzielone (jeśli w ogóle).

powrót w środku bloku

Coś w stylu: using (IDisposable disposable = GetSomeDisposable()) { //..... //...... return Stg(); } Uważam, że to nie jest właściwe miejsce na oświadczenie zwrotne, prawda?

C# jak zaimplementować metodę Dispose

Potrzebuję porady na temat implementacji metody Dispose. W naszej aplikacji użytkownik projektuje własny interfejs użytkowni ... n pozbyć się swoich dzieci. Dzieci powinny następnie pozbyć się swoich dzieci i tak dalej. Czy się mylę czy brakuje mi coś?

Jak dodać funkcjonalność Dispose do C# UserControl?

Mam klasę, która implementuje UserControl. W. NET 2005 metoda Dispose jest automatycznie tworzona w MyClass.Projektant.plik k ... ispose, gdzie ją umieścić? Ponieważ ten plik jest generowany, nie chcę dodawać tutaj kodu i ryzykować, że zostanie rozwalony.

Czy muszę rozważyć pozbycie się ilości, których używam?

Ostatnio zwrócono mi uwagę, że różne metody rozszerzenia Linq (takie jak Where, Select, etc) zwraca IEnumerable<T>, któ ... ę metodę zwracającą IEnumerable<T>, czy (potencjalnie) biorę odpowiedzialność za wywołanie dispose po jej zakończeniu?

Jaki jest wzór dyspozytora obietnicy?

Czytałem o wzorze ekspozytora obietnicy w kilku miejscach, ale nie mogę rozgryźć, co to jest. Zasugerowano mi użycie go w kod ... drzucania i wypełniania, które zwracają wartość, ale wykonują akcję". Używam bluebird w tym przypadku, jeśli to ma znaczenie.