2

Silverlight でのプログラミングは初めてです。誰でも違いを教えてもらえますか

FrameworkElement obj=sender as FrameworkElement 

FrameworkElement obj=(FrameworkElement)someobject 
4

2 に答える 2

2
FrameworkElement obj=sender as FrameworkElement 

このコードの後、obj の型が FrameworkElement の場合は FrameworkElement になり、それ以外の場合は null になります。このコードはInvalidCastExceptionをスローしません。

FrameworkElement obj=(FrameworkElement)sender

これは明示的な変換であり、この操作はInvalidCastExceptionをスローする可能性があります

キャストと型変換 (C# プログラミング ガイド)

于 2010-05-18T11:12:52.370 に答える
0

はい、違いは

FrameworkElement obj=sender as FrameworkElement常に動作します。送信者のタイプがFrameworkElementでない場合、objはnullです。そうでない場合は、キャストされたオブジェクトがそこにあります。

FrameworkElement obj=(FrameworkElement)someobject送信者をタイプFrameworkElementにキャストできない場合、InvalidCastExceptionが生成されます。

于 2010-05-18T11:09:23.690 に答える