2010-11-19 101 views
0

考虑这个examlpe它是否可以提高性能并降低级别类型?

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 

在上述例子中所述的类型的senderMyClassy5类型。

这两种铸件之间是否有任何性能差异?

回答

0

因为DirectCast不使用任何运行时帮助程序来执行强制转换,所以性能应该相同。但除非你每秒执行数百万次演员,否则你不应该在意这一点。