Effective C#
Effective C#: Item 3: Prefer the is or as Operators to Casts
Effective C#: Item 2 Prefer readonly to const
Effective C#: Item 1 Always use properties instead of accessible data members