函数为什么实现的是一些操作但却有整形返回值
2012-12-10 13:45
225 查看
今天在做开发时,由于一段代码要被重用好多次的,于是为了让代码更规范和更易于维护,我就打算把该方法重构,但是提示消息是“有一个路径有返回值时要求每个路径都要有返回值”,我当时以为那就自己手写一下吧,可能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();
}
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();
}
相关文章推荐
- <2012 12 17> C标准库中一些字符串操作函数的实现
- 一些字符串及内存操作函数的实现
- 实现的一些内存辅助操作函数
- 一些常用字符串操作函数的内部实现
- 一些字符串及内存操作的函数的实现
- 一些字符串操作函数的模拟实现
- 一些常用字符串操作函数的内部实现
- jQuery链式操作如何实现以及为什么要用链式操作
- 10.2 NSOperation/NSOperationQueue:提供了一些在GCD中不容易实现的特性,如:限制最大并发数量,操作之间的依赖关系.
- [转]AngularJS 实现 Table的一些操作(示例大于实际)
- 一些常用函数模拟实现
- 实现一个函数,对一个正整数n,算得到1需要的最少操作次数?
- jQuery 常见操作实现方式和常用函数方法总结
- linux文件操作的一些函数
- 实现 fizzBuzz 函数,参数 num 与返回值的关系如下: 1、如果 num 能同时被 3 和 5 整除,返回字符串 fizzbuzz 2、如果 num 能被 3 整除,返回字符串 fizz 3
- 利用切片操作,实现一个trim()函数,去除字符串首尾的空格
- 创建一个数组, 实现函数init()初始化数组、 实现empty()清空数组、 实现reverse()函数完成数组元素的逆置。 要求:自己设计函数的参数,返回值。
- 函数对象与整形操作元函数
- 二叉搜索树的一些操作的C++实现
- 对css类名className的一些操作的函数