🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

IDispose oraz interfejsy

#21838
From: mk
Date: Wed, 17 Nov 2010 12:20
56 lines
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-mail

Show 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