谁能告诉我,FrameworkElement的和FrameworkElement的OBJ =(FrameworkElement的)someobject FrameworkElement的OBJ =发送者之间的区别

StackOverflow https://stackoverflow.com/questions/2856587

我是新来在Silverlight编程。谁能告诉我之间的区别

FrameworkElement obj=sender as FrameworkElement 

FrameworkElement obj=(FrameworkElement)someobject 
有帮助吗?

解决方案

FrameworkElement obj=sender as FrameworkElement 

这个代码后物镜将FrameworkElement的,如果它的类型是FrameworkElement的,或空值,在其它情况下。此代码不会引发的 InvalidCastException的

FrameworkElement obj=(FrameworkElement)sender

这是显式的转换,并且这个操作可以抛出的 InvalidCastException的

铸造和类型转换(C#编程指南)

其他提示

是,所不同的是

FrameworkElement obj=sender as FrameworkElement始终工作。如果发件人是类型FrameworkElement的不是,obj为null,否则你会发现在那里铸造对象。

FrameworkElement obj=(FrameworkElement)someobject产生一个InvalidCastException如果发送者不能被铸造键入FrameworkElement的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top