static void Main(string[] args) { Base good = new Good(); Base bad = new Bad(); good.Validate(); bad.Validate(); // This blows up Console.ReadLine(); }