Pregunta

Actualmente estoy poblando mi rejilla WPF usando una colección de datos que implemente ITypedList, con las entidades contenidas implementar ICustomTypeDescriptor. Todas las propiedades se determinan en tiempo de ejecución.

Estoy queriendo aplicar HyperDescriptor que ayudan a acelerar el rendimiento, pero el ejemplo de esa página más se refiere a tipos conocidos en lugar de las propiedades de ejecución.

Me gustaría pensar que me había necesidad de poner en práctica un método GetProperties() costumbre o similar que contar la HyperTypeDescriptor qué propiedades tiene que mirar, pero no estoy seguro donde que se debe establecer. Calculo que no es difícil, pero es evidente que me falta algo.

¿Algún consejo muy apreciada!

¿Fue útil?

Solución

La aplicación HyperDescriptor es de hecho específicos para las propiedades en tiempo de compilación, ya que utiliza ILGenerator etc y almacena en caché el código generado. Si está utilizando ICustomDescriptor usted es ya en un perfil de rendimiento muy diferentes - por ejemplo, si sus PropertyDescriptors personalizados trabajan en contra de un diccionario o tabla hash como una propiedad de la bolsa se puede ya ser significativamente más rápido que la reflexión en bruto.

pueden será posible optimizar aún más, pero lo que necesitaría saber más acerca de la aplicación específica. Pero sería el trabajo no trivial, por lo que primero satisface a sí mismo que a este miembro de acceso es en realidad un cuello de botella, y que no se podía hacer algo tan simple como paginación o "modo virtual" en primer lugar.

(aclaración: yo soy el autor de HyperDescriptor, por lo que conozco bien esta zona)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top