Introducing Visual C# 2010 by Adam Freeman