Hola, prueba esta implementacion, es efectiva.
  
Código:
 static void Main(string[] args)
        {
            int day = 23;
            int month = 9;
            int year = 1990;
            DateTime dat = new DateTime(year, month, day);
            Console.Write(Edad(dat));
            Console.ReadKey();
        }
        public static int Edad(DateTime fechaNacimiento)
        {            
            int edad = DateTime.Now.Year - fechaNacimiento.Year;
            DateTime nacimientoAhora = fechaNacimiento.AddYears(edad);            
            if (DateTime.Now.CompareTo(nacimientoAhora) < 0)
            {
                edad--;
            }
            return edad;
        }
  saludos
Cronos