2010-05-18 3 views
2

Я новичок в программировании в Silverlight. Может кто-нибудь сказать мне разницу междуМожет ли кто-нибудь сказать мне разницу между FrameworkElement obj = sender как FrameworkElement и FrameworkElement obj = (FrameworkElement) someobject

FrameworkElement obj=sender as FrameworkElement 

и

FrameworkElement obj=(FrameworkElement)someobject 
+0

Вы должны повторно задать свой вопрос для типов C# или что-то – VMAtm

ответ

2
FrameworkElement obj=sender as FrameworkElement 

после этого кода OBJ будет FrameworkElement, если тип этого является FrameworkElement или нулевым, в других случаях. Этот код не будет выбрасывать InvalidCastException.

FrameworkElement obj=(FrameworkElement)sender 

это явное преобразование, и эта операция может бросить InvalidCastException

Casting and Type Conversions (C# Programming Guide)

0

Да, разница

FrameworkElement obj=sender as FrameworkElement всегда работает. Если отправитель не имеет тип FrameworkElement, obj имеет значение NULL, в противном случае вы можете найти там литой объект.

FrameworkElement obj=(FrameworkElement)someobject создает InvalidCastException, если отправитель не может быть отправлен в тип FrameworkElement.

Смежные вопросы