函数为什么实现的是一些操作但却有整形返回值
来源:互联网 发布:loading windows files 编辑:程序博客网 时间:2024/04/30 05:55
今天在做开发时,由于一段代码要被重用好多次的,于是为了让代码更规范和更易于维护,我就打算把该方法重构,但是提示消息是“有一个路径有返回值时要求每个路径都要有返回值”,我当时以为那就自己手写一下吧,可能VS2010在这种情况下处理不了吧,可是手写完成后发现我错了,在这里我要说一声VS实在太强大、太智能了,这时我调试了断电测试了下,在被调函数中return执行时,只是返回到主程序,而不是主程序返回,于是我产生了一种想法:“通过设置其返回值的不同来判断是否执行主程序中的return操作”这时将下面的代码:
public void chuangkou(string windowname)
{
foreach (Form childrenForm in this.MdiChildren)
{
//检测是不是当前子窗体名称
if (childrenForm.Name == windowname)
{
//是的话就是把他显示
childrenForm.Visible = true;
//并激活该窗体
childrenForm.Activate();
childrenForm.WindowState = FormWindowState.Maximized;
return ;
}
if (childrenForm.Name != windowname)
{
childrenForm.Dispose();
childrenForm.Close();
}
}
}
修改成第二种:
/// <summary>
/// 下面的程序为了就是实现一些操作,通过调用的地方通过其返回值的不同判断是否执行return操作
/// </summary>
/// <param name="windowname"></param>
/// <returns></returns>
public int chuangkou(string windowname)
{
foreach (Form childrenForm in this.MdiChildren)
{
//检测是不是当前子窗体名称
if (childrenForm.Name == windowname)
{
//是的话就是把他显示
childrenForm.Visible = true;
//并激活该窗体
childrenForm.Activate();
childrenForm.WindowState = FormWindowState.Maximized;
return 0;
}
if (childrenForm.Name != windowname)
{
childrenForm.Dispose();
childrenForm.Close();
return 1;
}
}
return 2;
}
然后在主程序中:
private void buttonItem23_Click(object sender, EventArgs e)
{
int k = chuangkou("frm_zuzhijigoutu");//获得其返回值
if (k == 0)//如果返回值等于0,则return
{
return;
}
frm_zuzhijigoutu frm_zuzhijigoutu = new frm_zuzhijigoutu();
frm_zuzhijigoutu.MdiParent = this;
frm_zuzhijigoutu.Show();
}
- 函数为什么实现的是一些操作但却有整形返回值
- C++运算符重载,+-*/的重载,返回值为什么是对象而不是对象的引用?而流操作符<< 和 >> 却返回的是引用?
- C++运算符重载,+-*/的重载,返回值为什么是对象而不是对象的引用?而流操作符<< 和 >> 却返回的是引用?
- 在Extjs提交表单时,后端可以成功地执行操作,但返回给前端的却是false
- 函数的返回值为什么只能有一个?
- fgetc函数的返回值为什么是 int 类型
- 为什么线程函数不能有返回值
- java为什么非静态内部类中不能有static修饰的属性,但却可以有常量?
- jquery有正确返回值但不执行success函数
- 为什么用Android Volley时返回的中文是乱码,而postman却显示正常
- 为什么strcpy的返回值是char* ?
- 为什么strcpy的返回值是char* ?
- 为什么Iterator的hasNext()条件成立,但next()却为空值
- CFileFind的成员函数GetFileName()为什么返回的是"."?
- 我的文档变成英文了怎么办?为什么有的文件夹看起来是中文,但路径却是英文?
- 有返回值的函数
- 有返回值的函数
- 在C++中,为什么构造函数不能有返回值?
- ajax实例2
- Java SE基础部分-03. 运算符和表达式
- POJ 2697 A Board Game
- find命令查找文件大小或将按条件将文件移动及Tar文件目录打包命令
- Java多线程(一)之volatile深入分析
- 函数为什么实现的是一些操作但却有整形返回值
- 我是一个混蛋程序员
- AWS扫盲
- Java邮件开发-----JavaMail(二)
- Java SE基础部分-04. 分支、循环语句
- CPLD初学者入门知识总结
- Understanding JVM Internals, from Basic Structure to Java SE 7 Features
- javascript学习系列02(变量,循环,基础语法)
- VC6.0使用的18个技巧