C#,如何查看具有返回是object类型的情况

scorpionco 2010-03-19 09:00:31
看别人的代码,有时想,他们如何知道把object类型进行转换成另一类型.查看MSDN的例子也不一定知道到底应该转换成哪种类型

IHTMLControlRange rang = (IHTMLControlRange)body.createControlRange();
查看createControlRange()的返回类型是object,查看MSDN
返回的是controlRange 的收集
但是上面的也不知为何就可以转换成IHTMLControlRange呢?
我想当然的转成IHTMLDDElement 不知行不行?
这个是不是只有设计者才知道的答案呢?后续者只需要使用就是了?

谢谢!
...全文
460 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
whslovexyp 2010-03-19
  • 打赏
  • 举报
回复
只能看msdn了,会告诉你到底返回的是什么类型,不建议用强制类型转换,为啥不用as呢
zhoufs 2010-03-19
  • 打赏
  • 举报
回复
Delphi中,如果你不了解某个对象,可以打开帮助,找出该对象所属的类,以及父类、爷爷类。。。直到祖先类Object,可以看到该对象所拥有的全部属性、事件、方法。再不行,还可以查看其源代码。
zhoufs 2010-03-19
  • 打赏
  • 举报
回复
与楼主有同感。

  C#中到处都是空洞的object类型,有的可能转换成数值、有的可以转换成字符串、有的可以转换成某种对象。。。毫无规律可循。
   当我想具体了解某个对象有哪些属性、事件、方法可用时,C#只告诉我它是个object,而不告诉我是什么样的Object==> 结果,等于什么也没告诉我! 这一点与Delphi相比差远了。

scorpionco 2010-03-19
  • 打赏
  • 举报
回复
MessageBox.Show(((IHTMLDDElement)body.createControlRange()).ToString());
按这么方式转换提示不能强制,所以并不是object就是包络万象.它只能在原型产生的object下才能转换成其它派生的类型.
lexfu 2010-03-19
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 scorpionco 的回复:]
关键是如何获知原有类型
[/Quote]

LZ你定义一个变量自然是为了以后使用,所以如果你想知道要把Object转成什么样,就要看是要在什么地方使用这个变量,使用的地方的那个变量是什么类型的,就把object转换成什么类型
scorpionco 2010-03-19
  • 打赏
  • 举报
回复
关键是如何获知原有类型
cjnkd 2010-03-19
  • 打赏
  • 举报
回复
Object可以存各种类型,但是只能转换成数据原有的类型。
maodehua718 2010-03-19
  • 打赏
  • 举报
回复
学习,学习
Peter200694013 2010-03-19
  • 打赏
  • 举报
回复
eg:
//Student 是一个定义的类
object o = new object();
Student stu = (Student)o; //error: System.InvalidCastException 不能转换
如果是:
object o = new Student();
Student stu = (Student)o; //ok
abaochen 2010-03-19
  • 打赏
  • 举报
回复
.....不明白你说的是什么意思,我想LZ应该知道一点啦,object类型的数据是可以和其他数据类型互相转换的

  • 打赏
  • 举报
回复
.....不明白你说的是什么意思,我想LZ应该知道一点啦,object类型的数据是可以和其他数据类型互相转换的
lexfu 2010-03-19
  • 打赏
  • 举报
回复
所以自然是你想把它转成什么就转成什么,只要合理,程序能用就行
Peter200694013 2010-03-19
  • 打赏
  • 举报
回复
在进行强转时是知道对象的具体类型的,以及它是否可以转化成其他需要的类型
lexfu 2010-03-19
  • 打赏
  • 举报
回复
object类型是所有类型的基类,所以它可以转换成任何类型的

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧