Schnellste casting in VB.NET mit einer bekannten Art?
Wenn ich viele Steuerelemente auf einem Formular (z.B. Label, Button, etc), die fast die gleiche Sache, die ich oft verwenden Sie eine Methode, mit der alle Steuerelemente, Klicken Sie auf MouseDown, MouseUp-Ereignisse.
Aber zu wissen, welche Steuerelemente das werfen der Falle und auf die Eigenschaften, die Steuern, die ich brauche, um Darsteller der "sender" - Objekt mit dem richtigen Typ.
Die Sache ist, dass ich immer weiß, welcher Typ es ist, weiß ich nicht wirklich haben, um "TryCast", "DirectCast" und überprüfen, ob die operation true zurück. Die ich irgendwann mal verwenden CType als auch.
Dim btn as Button = CType(sender, Button)
btn.Txt = "Pushed"
Möchte ich finden, der Schnellste casting-Methode, wenn ich schon wissen, die Art der Kontrolle, ich weiß, es ist ein Button-Ereignis den Aufruf meiner Methode und wie der Schnellste Weg zur Umwandlung der sender-Objekt an ein Steuerelement Button.
Irgendwelche Vorschläge?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde verwenden
DirectCast
wie äußert Ihre Absicht, die meisten klar: Sie kennen das Objekt ist eigentlich die richtige Art; Sie brauchen keine Konvertierungen durchgeführt werden, und Sie nicht wollen Sie durchgeführt werden: wenn der Typ falsch ist, das anzeigt, dass ein Fehler und eine Ausnahme geworfen werden sollte, richtig?Warum sind Sie so besorgt über die Leistung, obwohl? Ich vermuten, dass
DirectCast
ist mindestens so schnell wie die alternativen, aber wenn wir reden über Benutzer-Interaktionen hier der cast wird unbedeutend im Vergleich mit der menschlichen Reaktionszeit. Klar, code ist fast immer wichtiger als die absolute Schnellste Weg, etwas zu tun.Abgesehen von der Absicht erwähnt, die von Jon,
DirectCast
auch die Schnellste Methode. Weitere Informationen sind in der Versteckte Features von VB Diskussion.