有时我必须实现一个接口或继承基本方法期望的对象的虚拟(MustInherit),而我知道我将通过的值将总是总是是一个整数例如。隐含的VB性能问题
什么应该从下面的例子中的最佳性能:
Public Sub DoSomething(ByVal obj As Object)
'option 1:
Dim x As Integer = obj
'option 2:
Dim y = DirectCast(obj, Integer)
End Function
注意事项:
- 选项1:没有铸造,但也许不那么正确的,它成本更低的性能?
- 选项2:铸造时,类型是已知的,但感觉更安全。
注:请不要用“你为什么不想要实现它在不同的方式”等等,等等评论 我的问题不是如何做到这一点,我没有找到的例子如何问它,我的问题是什么选项应该是rightes,什么会花费更多的性能。
如果您声称实施该界面,则应该准备好接受任何对象。否则,你并没有真正实现接口。 – 2009-12-12 23:31:07
同样,我说接口的东西只是一个理由来提出我的问题。 – Shimmy 2009-12-12 23:59:26
而一个实际的例子是当你重写一个类,并将其标记为NotInheritable(密封)。 另一个很好的例子是当你实现IValueConversion时。 – Shimmy 2009-12-13 00:00:38