Question

Quel devrait être plus approprié ou ce qui est recommandé d'utiliser en VB.NET soit de la réflexion par rapport à la liaison tardive:

'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)

par rapport à:

Dim value = sender.Text
Était-ce utile?

La solution

Sous les couvertures, ils sont tous les deux font la même chose (relativement parlant). La fonction de liaison tardive de VB.NET se fait via des requêtes de métadonnées d'assemblage à l'exécution qui est exactement ce que la réflexion est tout au sujet.

L'un des avantages pour votre première approche est que vous avez la possibilité de gérer les erreurs d'une manière plus finement à grain fin.

Autres conseils

est-ce pas sender.Text toujours une chaîne bien? Ainsi, le type de valeur peut être déduite au moment de la compilation, ce qui rend ce dernier un exemple de liaison précoce?

Si vous utilisez la liaison tardive, vous pouvez mettre la méthode qui extrait les propriétés dans une classe partielle avec Option Explicit = Off. De cette façon, vous avez encore la vérification de type dans le reste de votre code.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top