2010-05-18 13 views

Répondre

2
FrameworkElement obj=sender as FrameworkElement 

après cette obj de code sera FrameworkElement, si le type de celui-ci est FrameworkElement ou nulle, dans d'autres cas. Ce code ne lancera pas InvalidCastException.

FrameworkElement obj=(FrameworkElement)sender 

c'est la conversion explicite, et cette opération peut jeter un InvalidCastException

Casting and Type Conversions (C# Programming Guide)

0

Oui, la différence est

FrameworkElement obj=sender as FrameworkElement fonctionne toujours. Si l'expéditeur n'est pas de type FrameworkElement, obj est null, sinon vous y trouverez l'objet casted.

FrameworkElement obj=(FrameworkElement)someobject génère une exception InvalidCastException si l'expéditeur ne peut pas être casté pour taper FrameworkElement.