我是Silverlight编程的新手。可以有人告诉我
之间的区别FrameworkElement obj=sender as FrameworkElement
和
FrameworkElement obj=(FrameworkElement)someobject
答案 0 :(得分:2)
FrameworkElement obj=sender as FrameworkElement
此代码之后obj将是FrameworkElement,如果它的类型是FrameworkElement,或者在其他情况下为null。此代码不会抛出 InvalidCastException 。
FrameworkElement obj=(FrameworkElement)sender
这是显式转换,此操作可以抛出 InvalidCastException
答案 1 :(得分:0)
是的,区别在于
FrameworkElement obj=sender as FrameworkElement
始终有效。如果sender不是FrameworkElement类型,则obj为null,否则您将在其中找到已转换的对象。
FrameworkElement obj=(FrameworkElement)someobject
会产生InvalidCastException。