它是否提高了对较低级别类型的性能转换?

时间:2010-11-19 07:49:09

标签: vb.net casting performance

考虑这个考试

Interface IInterface
    Property MyProperty
End Interface

Class MyClassy : Implements IInterface
    Public Property MyProperty
End Class

Class MyClassy2 : Inherits MyClassy
End MyClassy
Class MyClassy3 : Inherits MyClassy
End MyClassy    
Class MyClassy4 : Inherits MyClassy
End MyClassy
Class MyClassy5 : Inherits MyClassy
End MyClassy

Private Sub MyHandler(sender As Object, e As EventArgs)
    'Here is my question:

    Dim lowLevel = DirectCast(sender, IInterface).MyProperty

    'vs.

    Dim highLevel = DirectCast(sender, MyClassy5).MyProperty  

End Sub

上例中sender的类型属于MyClassy5

两种类型的铸造之间是否有任何性能差异?

1 个答案:

答案 0 :(得分:0)

由于DirectCast不使用任何运行时助手来进行强制转换,因此性能应该相同。但你不应该关心这一点,除非你每秒进行数百万次演员表演。