🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: alt.pl.comp.lang.csharp
Article #21841

Re: IDispose oraz interfejsy

#21841
From: 3P
Date: Thu, 18 Nov 2010 20:15
57 lines
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-mail
References: <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