Максимально ограничивайте область Generic-а и не используйте в перегрузках методов
Вчера исправлял баг, проявил он себя весьма интересно. Но продемонстрировать его можно на достаточно простом примере:static void Main(string args){ Print(new { 1, 2, 3 }); Console.ReadKey();}static voidPrint<T>(T t){ Console.WriteLine(t);}static voidPrint<T>(IEnumerable<T>…