Crap!  I went to look up the original information I read about the using vs. 
try/finally and instead stumbled upon MSDN's own documentation or it confirming 
your statement: http://msdn.microsoft.com/en-us/library/yh598w02(v=vs.90).aspx. 
 However, MSDN also documents, for example within their WCF pages, about the 
risks of using "using" if you're not fully aware: 
http://msdn.microsoft.com/en-us/library/aa355056.aspx.  There's also supposed 
internal discussions: 
http://social.msdn.microsoft.com/forums/en-US/wcf/thread/4cdc67e0-3069-4d3b-b94f-27e2b8ff4429/.
 They're all around special clean-up scenarios and situations where your 
cleanup itself might fail but not be obvious in the syntax of the code.  Those 
are all more prevalent with WCF, I suspect, than Lucene.NET.


Brian Sayatovic
Senior Software Architect

866-218-1003 toll-free ext. 8936
937-235-8936 office
4540 Honeywell Ct. Dayton, OH 45424


This message may contain confidential/proprietary information from the CINgroup 
or its subsidiaries.
If you are not an intended recipient, please refrain from the disclosure, 
copying, distribution or use of this information. All such unauthorized actions 
are strictly prohibited. If you have received this transmission in error, 
please notify the sender by e-mail and delete all copies of this material from 
any computer.


-----Original Message-----
From: Nicholas Paldino [.NET/C# MVP] [mailto:casper...@caspershouse.com]

1) That is not true, using ultimately compiles down to a try/finally.  It's 
always called no matter how the block is exited.

2) This is a fault of the implementation.  It is up to the implementer to 
create a finalizer that disposes of resources that don't implement IDisposabe 
but need disposal (think raw handles).  Regardless, try/finally doesn't improve 
the experience here; whatever method you use to have the caller 
deterministically release resources won't do any good if the finalizer isn't 
implemented correctly.  Implementing IDisposable doesn't get you special 
consideration in the finalizer.

Reply via email to