考虑这个考试
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
。
两种类型的铸造之间是否有任何性能差异?
答案 0 :(得分:0)
由于DirectCast不使用任何运行时助手来进行强制转换,因此性能应该相同。但你不应该关心这一点,除非你每秒进行数百万次演员表演。