>>>>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#_>
>Question:
>I looked at the first book and ordered it then looked at the second one. I see this covers C#4 - but it's not clear whether it's a rehash of the first or whether it covers entirely different topics. Is it worth getting both ?
>TIA
As Mike mentions it is not a rehash - you can go through the table of contents of both. Each book covers 50 items - convince yourself ?
Gregory