Article View: alt.pl.comp.lang.csharp
Article #21838IDispose oraz interfejsy
From: mk
Date: Wed, 17 Nov 2010 12:20
Date: Wed, 17 Nov 2010 12:20
56 lines
2161 bytes
2161 bytes
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?\
Z góry dzięki za odpowiedzi
Mariusz
Technical Details
Message-ID:
<4ce3c89e$0$27031$65785112@news.neostrada.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!plix.pl!newsfeed1.plix.pl!goblin1!goblin.stu.neva.ru!postnews.google.com!news2.google.com!npeer03.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!nx02.iad01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!plix.pl!newsfeed1.plix.pl!goblin1!goblin.stu.neva.ru!postnews.google.com!news2.google.com!npeer03.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!nx02.iad01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail Date: Wed, 17 Nov 2010 13:20:43 +0100 From: mk <mk@nospam.com> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101027 Lightning/1.0b2 Thunderbird/3.1.6 MIME-Version: 1.0 Newsgroups: alt.pl.comp.lang.csharp Subject: IDispose oraz interfejsy Lines: 56 Message-ID: <4ce3c89e$0$27031$65785112@news.neostrada.pl> Organization: Telekomunikacja Polska NNTP-Posting-Host: 79.189.213.122 X-Trace: 1289996446 unt-rea-a-02.news.neostrada.pl 27031 79.189.213.122:62188 X-Complaints-To: abuse@news.neostrada.pl Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit