¿Por qué los marcos UI no usan genéricos?

7

Una forma de ver la seguridad de tipos es que agrega pruebas automáticas en todo el código que evitan que algunas cosas se rompan de alguna manera. Una de las herramientas que ayuda a esto en .NET son los genéricos.

Sin embargo, tanto WinForms como WPF están libres de genéricos. No hay control ListBox<T> , por ejemplo, que solo pueda mostrar elementos del tipo especificado. Dichos controles operan invariablemente en object en su lugar.

¿Por qué los genéricos no son populares entre los desarrolladores de marcos de IU?

    
pregunta Roman Starkov 13.04.2012 - 13:41

3 respuestas

5

WinForms vino con .NET 1.0 antes de que hubiera soporte para los genéricos. En el caso de WPF, el desarrollo comenzó antes de que el Marco también apoyara los genéricos. Aunque el soporte de genéricos llegó a .NET antes de que se lanzara WPF, habría que hacer un esfuerzo considerable para volver atrás y agregarlo.

Además, el XAML para representar genéricos no es bonito

    
respondido por el Michael Brown 13.04.2012 - 15:36
2

En el caso de WinForms, es compatible con versiones anteriores de .NET que no son compatibles con los genéricos (por lo tanto, todos esos object sender s en los controladores de eventos), mientras que WPF implementa el enlace de datos de manera diferente ( {Binding Path=Name} etc .; funciona por reflexión ).

    
respondido por el Konrad Morawski 13.04.2012 - 13:46
1

Para un marco de interfaz de usuario, tiene mucho más sentido tomar objetos y enlazarlos de forma reflexiva que teclear fuertemente las interfaces de alguna manera. Muchos de los casos en los que debe lanzar objetos completamente arbitrarios en contenedores de IU arbitrarios en los casos en que no puede adivinar los tipos en tiempo de ejecución.

    
respondido por el Wyatt Barnett 13.04.2012 - 15:05

Lea otras preguntas en las etiquetas