Practical .NET 2 and C# 2: Harness the Platform, the Language, the Framework