Actualmente estoy trabajando en un proyecto en una sección del código es el siguiente:invocar dinámicamente las propiedades de nombre de la cadena usando VB.NET
Select Case oReader.Name
Case "NameExample1"
Me.Elements.NameExample1.Value = oReader.ReadString
....
Case "NameExampleN"
Me.Elements.NameExampleN.Value = oReader.ReadString
....
End Select
continúa durante un tiempo. El código es obviamente detallado y se siente como podría mejorarse. ¿Hay alguna forma de invocar dinámicamente una propiedad en VB.NET tales que algo como esto se puede hacer:
Dim sReadString As String = oReader.ReadString
Me.Elements.InvokeProperty(sReadString).Value = sReadString
CallByName parece más simple. ¿Cómo difiere esto de Reflection en términos de rendimiento? – EndangeredMassa
Creo que CallByName usa Reflection internamente, y sospecho que aplica varias travesuras específicas de VB para compatibilidad con versiones anteriores. Pruébalo, pero dudo mucho que lo veas tan rápido como un delegado. Sí, usar MakeDelegate es más complicado, pero mucho más eficiente que la reflexión. –
el enlace de entrada de su blog está roto – Fredou