Возможный дубликат:
является C# 4.0 во время компиляции завершен?
Хорошо известно, что метаязык шаблонов C++ является полным по Тьюрингу. Я предполагаю, что дженерики С# (или Java) не являются (т.е. вы не можете написать произвольную метапрограмму, используя их).
Кто-нибудь еще это доказал?