Practical .Net2 and C#2 by Smacchia Patrick