Defensive Coding for C#