Mag*_*nus 1 vb.net performance casting
当我在Form上有许多控件(即Label,Button等)做几乎相同的事情时,我经常使用一种方法来处理所有控件Click,MouseDown,MouseUp事件.
但要知道哪个控件抛出事件并访问该控件的属性,我需要将"sender"对象强制转换为正确的类型.
问题是我总是知道它是哪种类型,我不需要"TryCast","DirectCast"并检查操作是否返回true.我有时也使用CType.
Dim btn as Button = CType(sender, Button)
btn.Txt = "Pushed"
当我已经知道控件的类型时,我想找到最快的转换方法,我知道有一个Button事件调用我的方法,并且像将转发器对象转换为Button控件的最快方法.
有什么建议?
我用DirectCast它最清楚地表达你的意图:你知道对象实际上是正确的类型; 您不需要执行任何转换,并且您不希望它们被执行:如果类型错误,则表示错误并且应该抛出异常,对吧?
你为什么这么担心表现呢?我怀疑这DirectCast至少与替代方案一样快,但如果我们在谈论用户交互,那么与人类反应时间相比,演员阵容将是微不足道的.清晰的代码几乎总是比绝对最快的做事方式更重要.
| 归档时间: |
|
| 查看次数: |
9040 次 |
| 最近记录: |