I am new to programming in Silverlight. Can anyone tell me the difference between
FrameworkElement obj=sender as FrameworkElement
and
FrameworkElement obj=(FrameworkElement)someobject
I am new to programming in Silverlight. Can anyone tell me the difference between
FrameworkElement obj=sender as FrameworkElement
and
FrameworkElement obj=(FrameworkElement)someobject
Yes, the difference is
FrameworkElement obj=sender as FrameworkElement
always works. If sender is not of type FrameworkElement, obj is null, otherwise you will find the casted object in there.
FrameworkElement obj=(FrameworkElement)someobject
produces an InvalidCastException if sender cannot be casted to type FrameworkElement.
FrameworkElement obj=sender as FrameworkElement
after this code obj will be FrameworkElement, if type of it is FrameworkElement, or null, in other cases. This code will not throw InvalidCastException.
FrameworkElement obj=(FrameworkElement)sender
this is explicit conversion, and this operation can throw an InvalidCastException
http://msdn.microsoft.com/en-us/library/ms173105%28v=VS.90%29.aspx