Si es más difícil de explicar con palabras, vamos a ver un ejemplo tengo una función genérica como esta¿Cómo se usa typeof o GetType() como plantilla genérica?
void FunctionA<T>() where T : Form, new()
{
}
Si tengo un tipo reflejada, ¿cómo se utiliza con la función anterior? Tengo ganas de hacer esto
Type a = Type.GetType("System.Windows.Forms.Form");
FunctionA<a>();
De causa que el método anterior no funciona.
¿Cómo puede .NET estar tan cerca de el poder de una tecnología de 1958 y aún así estar tan lejos? –
.NET es convencional, Lisp (supongo que es lo que su referencia es) no lo es. Eso puede responder la pregunta "por qué". –
Esa es una respuesta muy definitiva. Lástima que sea incorrecto. Puede, a través de la reflexión, invocar métodos genéricos utilizando argumentos genéricos resueltos en tiempo de ejecución. No siempre es deseable, y uno puede preguntarse por qué tiene que hacerlo antes de usarlo realmente, pero es posible. –