【问题标题】:Can anyone tell me the difference between FrameworkElement obj=sender as FrameworkElement and FrameworkElement obj=(FrameworkElement) someobject谁能告诉我 FrameworkElement obj=sender as FrameworkElement 和 FrameworkElement obj=(FrameworkElement) someobject 之间的区别
【发布时间】:2010-05-18 11:05:20
【问题描述】:

我是 Silverlight 编程的新手。谁能告诉我两者的区别

FrameworkElement obj=sender as FrameworkElement 

FrameworkElement obj=(FrameworkElement)someobject 

【问题讨论】:

  • 你应该为 c# 类型或其他东西重新标记你的问题

标签: c# silverlight frameworkelement


【解决方案1】:
FrameworkElement obj=sender as FrameworkElement 

在这段代码之后,obj 将是 FrameworkElement,如果它的类型是 FrameworkElement,或者 null,在其他情况下。此代码不会抛出 InvalidCastException

FrameworkElement obj=(FrameworkElement)sender

这是显式转换,这个操作会抛出InvalidCastException

Casting and Type Conversions (C# Programming Guide)

【讨论】:

    【解决方案2】:

    是的,区别是

    FrameworkElement obj=sender as FrameworkElement 始终有效。如果 sender 不是 FrameworkElement 类型,则 obj 为 null,否则您会在其中找到已转换的对象。

    FrameworkElement obj=(FrameworkElement)someobject 如果无法将 sender 强制转换为 FrameworkElement 类型,则会产生 InvalidCastException。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-18
      • 2011-11-10
      • 1970-01-01
      • 1970-01-01
      • 2011-07-04
      • 2020-02-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多