Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
View design
Message
From
23/01/2011 13:11:41
 
 
General information
Forum:
Microsoft SQL Server
Category:
SQL syntax
Title:
Environment versions
SQL Server:
SQL Server 2000
Miscellaneous
Thread ID:
01496981
Message ID:
01497073
Views:
50
>>Now, let me give you a little brain teaser
>>
>>What is an elegant way to dispose an object IF it implements IDisposable.
>> You do not know whether the object implements IDisposable
>>
>>
>>public void SomeMethod(ISomeInterface theObject)
>>{
>>	// do something with theObject
>>	// and if theObject implements IDisposable
>>	// dispose it
>>}
Can't think of anything beyond the obvious:
if (theObject is IDisposable) ((IDisposable)theObject).Dispose();
>//or
>IDisposable d = theObject as IDisposable;
>if (d != null) d.Dispose();
But presumably you've seen something else ? :-}


Seen something else ? Yes

It's the latter of the obvious, but the compiler does it for you
public void SomeMethod(ISomeInterface theObject)
{
	using (theObject as IDisposable)
	{
		// do something here


	} //dispose 
}
pages 32-33 http://www.amazon.co.uk/More-Effective-Specific-Software-Development/dp/0321485890/ref=sr_1_1?ie=UTF8&s=books&qid=1295806114&sr=8-1

Also good to read http://www.amazon.co.uk/Effective-covers-4-0-Specific-Development/dp/0321658701/ref=sr_1_3?ie=UTF8&s=books&qid=1295806114&sr=8-3#_
Gregory
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform