Кто-нибудь может сказать мне разницу между FrameworkeSelement OBJ = отправителем как FrameworkeEment и FrameworkElement Obj = (FrameworkElement)
-
27-09-2019 - |
Вопрос
Я новый для программирования в Silverlight. Кто-нибудь может сказать мне разницу между
FrameworkElement obj=sender as FrameworkElement
и
FrameworkElement obj=(FrameworkElement)someobject
Решение
FrameworkElement obj=sender as FrameworkElement
После этого кода OBJ будет FrameworkElement, если тип его является FrameworkeEment или NULL, в других случаях. Этот код не бросит InvalidCastException..
FrameworkElement obj=(FrameworkElement)sender
Это явное преобразование, и эта операция может бросить InvalidCastException.
Преобразование кастинга и типа (руководство по программированию C #)
Другие советы
Да, разница
FrameworkElement obj=sender as FrameworkElement
Всегда работает. Если отправитель не имеет значения FrameworkElement, OBJ NULL, в противном случае вы найдете там лишенный объект.
FrameworkElement obj=(FrameworkElement)someobject
производит InvalidCastException, если отправитель не может быть выбран для ввода FrameworkElement.