Pregunta

Lo que debería ser más adecuado o lo que se recomienda utilizar en VB.NET ya sea de reflexión frente a la ligadura dinámica:

'Type can be various objects that have a common property for sure.'
Dim type = sender.GetType()
Dim prop = type.GetProperty("Text", 20)
Dim value = property.GetValue(sender, Nothing)

frente a:

Dim value = sender.Text
¿Fue útil?

Solución

Debajo de las sábanas que ambos están haciendo lo mismo (relativamente hablando). función de enlace tardío de VB.NET se realiza a través de consultas de montaje de metadatos en tiempo de ejecución, que es exactamente lo que la reflexión se trata.

Uno de los beneficios para su primer enfoque es que usted tiene la oportunidad de manejar los errores de una manera más fina de grano.

Otros consejos

No es sender.Text siempre una cadena sin embargo? Por lo que el tipo de valor se puede inferir en tiempo de compilación, por lo que este último un ejemplo de enlace anticipado?

Si utiliza el enlace en tiempo, puede poner el método que extrae las propiedades en una clase parcial con Option Explicit = Off. De esta manera, usted todavía tiene la comprobación de tipos en el resto de su código.

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