Usted puede hacer un poco mejor que los ejemplos dados hasta ahora, de hecho ... se puede extender de manera arbitraria:
class Test
{
delegate Hofstadter Hofstadter();
static void Main()
{
// Unfortunately I'm clearly not as smart as the real thing
Hofstadter douglas =() => null;
douglas()()()()()()();
}
}
Y aquí hay otra alternativa horrible, por el arte ASCII adicional:
class Test
{
delegate __ ___();
delegate ___ __(___ _);
static void Main()
{
___ _ =() => null;
_()((_))();
}
}
Nunca haga esto.
EDIT: Un último - aunque es tanto sobre sólo la sustitución de las cosas con guiones como cualquier otra cosa, y la reutilización de los nombres siempre que sea posible:
class Test
{
delegate void _();
delegate __<_> ___<_>();
delegate ___<_> __<_>(___<_> ____);
static ___<_> ____<_>(___<_> ____) { return ____; }
static __<_> ____<_>() { return ____<_>; }
static void Main()
{
((__<_>)____)(____<_>)();
}
}
¿Qué posible propósito podría haber para esto (aparte de tener dos ojos vacíos mirándote fijamente en el código)? –
Esta pregunta realmente saca a relucir el lado oscuro de la Fuerza: ¡estoy impresionado de ver a esas mentes brillantes compitiendo con entusiasmo para producir un código genuinamente horroroso! – Mathias
@Mathias: El código del mal es el más divertido. Y la "mejor" parte es que cuanto más malvado se vuelve tu código, más malvado quieres que sea. –