对象做为函数的参数 不是很明白

yezhubenyue 2012-03-30 04:32:08
1: private void button1_Click(object sender, EventArgs e)
{
((Button)sender).Text = "click me";
}

请问下为什么这里形参要定义成object sender 为什么要选成object类呢?


2: 函数定义: public static void Run( Form mainForm)


这里 Application.Run(new Form1());

为什么要用 照我想的我感觉 形参是Form 那么 实参也应该选Form1..
...全文
76 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yezhubenyue 2012-03-30
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
Form1是Form的派生类,形参是Form,实参传入派生类的Form1的引用,没有错误,

派生类的实例也是基类的实例,Form1的实例也是Form的实例,
[/Quote]
谢谢您了。。。我明白了
Jelena景 2012-03-30
  • 打赏
  • 举报
回复
第一个问题,因为object是所有类的基类,那么继承你懂的
第二个,appliction.run()就跟main方法一样,是程序的入口,控制着整个窗体
Jelena景 2012-03-30
  • 打赏
  • 举报
回复
第一个问题,因为object是所有类的基类,那么继承你懂的
第二个,appliction.run()就跟main方法一样,是程序的入口,控制着整个窗体
mingcsharp 2012-03-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

因为sender可能是Button,也可能是CheckBox,不同的对象可能类型完全不同,用object可以适应不同类型的sender,
[/Quote]
精臂
觉悟之时 2012-03-30
  • 打赏
  • 举报
回复
这里 Application.Run(new Form1());

为什么要用 照我想的我感觉 形参是Form 那么 实参也应该选Form1..
因为这是启动项,启动项只能有一个。
stonespace 2012-03-30
  • 打赏
  • 举报
回复
Form1是Form的派生类,形参是Form,实参传入派生类的Form1的引用,没有错误,

派生类的实例也是基类的实例,Form1的实例也是Form的实例,
stonespace 2012-03-30
  • 打赏
  • 举报
回复
Form1是Form的派生类,形参是Form,实参传入派生类的Form1的引用,没有错误,

派生类的实例也是基类的实例,Form1的实例也是Form的实例,
种草德鲁伊 2012-03-30
  • 打赏
  • 举报
回复
楼主只是没弄明白继承的概念..
stonespace 2012-03-30
  • 打赏
  • 举报
回复
因为sender可能是Button,也可能是CheckBox,不同的对象可能类型完全不同,用object可以适应不同类型的sender,

111,126

社区成员

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

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

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