我是 Silverlight 编程的新手。谁能告诉我两者的区别
FrameworkElement obj=sender as FrameworkElement
和
FrameworkElement obj=(FrameworkElement)someobject
我是 Silverlight 编程的新手。谁能告诉我两者的区别
FrameworkElement obj=sender as FrameworkElement
和
FrameworkElement obj=(FrameworkElement)someobject
FrameworkElement obj=sender as FrameworkElement
在这段代码之后,obj 将是 FrameworkElement,如果它的类型是 FrameworkElement,或者 null,在其他情况下。此代码不会抛出InvalidCastException。
FrameworkElement obj=(FrameworkElement)sender
这是显式转换,此操作可能会抛出InvalidCastException
是的,区别在于
FrameworkElement obj=sender as FrameworkElement
总是有效。如果 sender 不是 FrameworkElement 类型,则 obj 为 null,否则您将在其中找到转换的对象。
FrameworkElement obj=(FrameworkElement)someobject
如果 sender 无法强制转换为 FrameworkElement 类型,则生成 InvalidCastException。