🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: IDispose oraz interfejsy

#21839
From: Łukasz 'Maly' Ostrowski
Date: Wed, 17 Nov 2010 12:52
44 lines
1934 bytes
On Wed, 17 Nov 2010 13:20:43 +0100, mk wrote:
> class Program
> {
>     static void Main(string[] args)
>     {
>      string type = KtoraKlaseAktywowac(); //Zwraca "A" albo "B"
>      AQQ aqq;
> <snip>
>      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?\

Jak się uprzeć, żeby ominąć samo "using" to:

AQQ aqq;
try
{
  aqq = new AQQ(); // lub new A/B czy cokolwiek ;-).
}
finally
{
  if (aqq != null)
    aqq.Dispose();
  // null
}

http://msdn.microsoft.com/en-us/library/yh598w02.aspx
[do takiej formy i tak zostałby using rozwinięty ;-)]

Niby rzeczywiście using() jest non-recommended w
takim przypadku, ale żeby być szczerym, przeciwwskazań
do zwykłego using nie widzę, tylko trzeba pamiętać żeby
po disposnięciu nie próbować korzystać z aqq, ew. 
po prostu ustawić aqq na null żeby mieć pewność że nie 
spróbujesz go użyć "dalej".


-- 
Pozdrawiam,
Łukasz 'Maly' Ostrowski.      http://l3v.eu/
Technical Details
Message-ID: <ptziban2euxd.x0ac47h52yvt.dlg@40tude.net>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.dialog.net.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.dialog.net.pl!not-for-mail
From: Łukasz 'Maly' Ostrowski <maly@USUNnemo.pl>
Newsgroups: alt.pl.comp.lang.csharp
Subject: Re: IDispose oraz interfejsy
Date: Wed, 17 Nov 2010 13:52:09 +0100
Organization: Acme
Lines: 44
Message-ID: <ptziban2euxd.x0ac47h52yvt.dlg@40tude.net>
References: <4ce3c89e$0$27031$65785112@news.neostrada.pl>
NNTP-Posting-Host: static-78-9-71-129.ssp.dialog.net.pl
Mime-Version: 1.0
X-Trace: news.dialog.net.pl 1289998333 21893 78.9.71.129 (17 Nov 2010 12:52:13 GMT)
X-Complaints-To: abuse@dialog.net.pl
NNTP-Posting-Date: Wed, 17 Nov 2010 12:52:13 +0000 (UTC)
User-Agent: 40tude_Dialog/2.0.15.1
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit