Article View: alt.pl.comp.lang.csharp
Article #21841Re: IDispose oraz interfejsy
From: 3P
Date: Thu, 18 Nov 2010 20:15
Date: Thu, 18 Nov 2010 20:15
57 lines
2178 bytes
2178 bytes
Dnia 17-11-2010 o 13:20:43 mk <mk@nospam.com> napisał(a):
> Witam,
>
> Nie wiem jak rozwiązać następujący problem:
>
> Mam kilka klas które implementują jakiś tam interfejs. Po stworzeniu
> obiektu którejś klasy odwołuję się do niego poprzez interfejs. Chciałbym
> aby te obiekty zwalniały pewne zasoby w momencie kiedy obiekt nie będzie
> już dłużej potrzebny ale niestety nie bardzo moge używać "using". Może
> najlepszy bedzie przyklad:
>
>
> public interface AQQ: IDisposable
> {
> ... //deklaracje metod
> }
>
> class A : AQQ
> {
> ...//cialo klasy A
> }
>
> class B : AQQ
> {
> ...//cialo klasy B
> }
>
> class Program
> {
> static void Main(string[] args)
> {
> string type = KtoraKlaseAktywowac(); //Zwraca "A" albo "B"
> AQQ aqq;
>
> switch(type)
> {
> case "A":
> aqq = new A();
> break;
> case "B":
> aqq = new B();
> break;
> }
>
> //using(aqq) // Nie zalecane
> //{ ... }
>
> aqq.DoSomething();
> aqq.Dispose();
> }
> }
>
> Czy jest jakiś sposób żeby w powyższym przykladzie używać klauzuli
> "using"? Jak się powinno zwalniać zasoby w powyższym przypadku?\
Czegoś nie rozumiem. Czemu using powyżej jest nie zalecany?
Technical Details
Message-ID:
<op.vmduj0gkmsp0fz@mcs>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!news.onet.pl!not-for-mailReferences:
<4ce3c89e$0$27031$65785112@news.neostrada.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!news.onet.pl!not-for-mail From: 3P <nospam@serwer.pl> Newsgroups: alt.pl.comp.lang.csharp Subject: Re: IDispose oraz interfejsy Date: Thu, 18 Nov 2010 21:15:26 +0100 Organization: http://onet.pl Lines: 57 Message-ID: <op.vmduj0gkmsp0fz@mcs> References: <4ce3c89e$0$27031$65785112@news.neostrada.pl> NNTP-Posting-Host: 83.238.118.3 Mime-Version: 1.0 X-Trace: news.onet.pl 1290111339 31974 83.238.118.3 (18 Nov 2010 20:15:39 GMT) X-Complaints-To: niusy@onet.pl NNTP-Posting-Date: Thu, 18 Nov 2010 20:15:39 +0000 (UTC) User-Agent: Opera Mail/10.63 (Win32) X-Antivirus: avast! (VPS 101118-2, 2010-11-18), Outbound message X-Antivirus-Status: Clean Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit