vb.net Reflexion vs. Bindung spät?
-
19-09-2019 - |
Frage
Was mehr richtig sein soll oder was empfohlen wird in VB.NET von beiden Reflexionen gegen die späte Bindung:
'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)
Vergleich:
Dim value = sender.Text
Lösung
Unter den Abdeckungen sie beide das gleiche tun (relativ gesehen). VB.NET Spät-Funktion Bindung erfolgt über Montagemetadatenabfragen zur Laufzeit durchgeführt, die genau das, was Reflexion auf sich hat.
Einer der Vorteile für Ihren ersten Ansatz ist, dass Sie die Möglichkeit, Griff-Fehler in einen haben feinkörnig Weise.
Andere Tipps
Ist das nicht sender.Text immer wenn ein String? So ist die Art von Wert kann bei der Kompilierung abgeleitet werden, letztere macht ein Beispiel für frühe Bindung?
Wenn Sie zu spät verwenden zu binden, können Sie die Methode, dass Extrakte, die Eigenschaften in einer Teilklasse mit Option Explicit = Off setzen. Auf diese Weise, haben Sie immer die Typprüfung im Rest des Codes haben.