c# – 如何在执行操作之前检查所有方法是否为真
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 如何在执行操作之前检查所有方法是否为真,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1255字,纯文字阅读大概需要2分钟。
内容图文
![c# – 如何在执行操作之前检查所有方法是否为真](/upload/InfoBanner/zyjiaocheng/765/0a8abe1c14a541dcb59f8ad0591fdf5e.jpg)
我有一个问题,我在表单中实施了大约5次验证检查.其中每个都位于自己的方法Is_XXX_Valid()中.我正在寻找一种方法来确定每个方法都返回true;否则应显示错误消息.
然而,这是出现问题的地方,我有一个部分工作的解决方案,因为如果先前的方法返回false,则无法运行后续方法
这是我正在使用的当前代码:
private void Button_Click(object sender, EventArgs e)
{
DialogResult validation_msgbox = MessageBox.Show("Are you sure you would like to submit this form?", "Submit Form?", MessageBoxButtons.YesNo);
// Run each validaion check
if (IsAAAValid() && IsBBBValid())
{
//Continue and submit data
}
else
{
//Display the errors
DialogResult Textbox_validation = MessageBox.Show(ErrorText, "Some errors were found.", MessageBoxButtons.OK);
}
}
使用上面的代码作为示例,如果IsAAAValid()返回false,则不执行第二个方法,因此未验证其中的数据,如果发现多个错误,则导致不正确的对话框.
谢谢!
解决方法:
这被称为“短路评估”,您可以阅读有关here的内容,这是C#编程语言通常需要的功能.你可以用这样的东西解决它:
bool avalid = IsAAAValid();
bool bvalid = IsBBBValid();
if (avalid && bvalid)
{
//Continue and submit data
}
这将保证两种方法都能运行.
作为旁注,为了清楚您的代码,我建议您重命名验证方法,以表示它们有副作用.也就是说,它们不仅仅是简单地返回数据的状态;他们实际上有可能修改状态.这就是为什么在这种情况下短路评估会引起问题的原因.
内容总结
以上是互联网集市为您收集整理的c# – 如何在执行操作之前检查所有方法是否为真全部内容,希望文章能够帮你解决c# – 如何在执行操作之前检查所有方法是否为真所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。