`
mlzboy
  • 浏览: 726809 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

扩展方法应用

阅读更多
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace TaskManager
{
    
public static class ValidateHelper
    
{
        
static ValidateHelper()
        
{
            IsErr 
= false;
        }


        
public static bool IsErr
        
{
            
get;
            
set;
        }

        
static ErrorProvider ep = new ErrorProvider();
        
public static bool Validate(this TextBox ctrl, System.Func<TextBox, bool> func, string errmsg)
        
{
            
if (!func(ctrl))
            
{
                ep.SetError(ctrl, errmsg);
                ctrl.Focus();

                
return !(IsErr=true);
            }

            
return true;
        }

        
public static bool Validate(this ListBox ctrl, System.Func<ListBox, bool> func, string errmsg)
        
{
            
if (!func(ctrl))
            
{
                ep.SetError(ctrl, errmsg);
                ctrl.Focus();

                
return !(IsErr = true);
            }

            
return true;
        }

        
public static void Clear()
        
{
            ep.Clear();
            IsErr 
= false;
        }

    }

}

 

还是照样上两张图

用法

 

Code
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->           ValidateHelper.Clear();
            
this.txtName.Validate(t => string.IsNullOrEmpty(t.Text), "不能为空");
            
this.lstboxFileList.Validate(t => t.Items.Count < 2"请加载任务资源包");
            
if (ValidateHelper.IsErr)
                
return;
           
//do sth ha

 

相关文章链接:

C#学习使用ErrorProvider

http://www.cnblogs.com/sondy/archive/2006/04/16/376254.html

ErrorProvider的用法

http://www.cnblogs.com/sondy/archive/2006/04/16/376254.html

验证能有多优雅

http://www.cnblogs.com/GrayZhang/archive/2008/09/01/1281526.html

 

 

分享到:
评论

相关推荐

    Chrome扩展及应用开发.pdf

    ### Chrome扩展及应用开发知识点概览 #### 一、初步接触Chrome扩展应用开发 - **认识Chrome扩展及应用** - Chrome扩展(Extensions)是一种基于Web技术(HTML、JavaScript、CSS)开发的小型应用程序,旨在增强...

    C# 构建可扩展的应用程序(插件)

    在C#编程中,构建可扩展的应用程序是提高软件灵活性和适应性的重要手段。插件架构是一种实现可扩展性的方式,它允许程序在运行时动态加载新的功能或组件,而无需重新编译整个应用程序。本篇文章将深入探讨C#中如何...

    扩展方法Demo

    综上所述,"扩展方法Demo"可能是一个教学项目,旨在帮助开发者理解和应用扩展方法,特别是如何处理“扩展方法必须在非泛型静态类中定义”的错误。通过学习和实践,我们可以更有效地利用扩展方法来增强已有类型的功能...

    单例模式的扩展及其应用

    LimitInstanceClass还有一个String类型的成员变量accessMessage,以及一个成员方法writeAccessMessage(String message),该方法将参数message追加到accessMessage。LimitInstanceClass的printAccessMessage()方法...

    扩展方法示例代码

    5. **应用场景**:扩展方法常用于 LINQ(Language Integrated Query)查询表达式,如`Enumerable`类中的许多方法(如`Select`, `Where`, `OrderBy`等)。这些方法作为扩展方法,使得我们可以对集合进行流畅的链式...

    ABB机器人控制系统I_O模块扩展方法及工业应用.pdf

    ABB 机器人控制系统 I/O 模块扩展方法及工业应用 本资源摘要信息主要介绍 ABB 机器人控制系统 I/O 模块扩展方法及其在工业应用中的实践。随着工业 4.0 和中国制造 2025 等战略的提出,我国制造业正在加速自动化和...

    单片机串口扩展方法总结

    下面将详细介绍几种常见的单片机串口扩展方法。 1. 软件模拟法 软件模拟串口是利用定时器和单片机的I/O口模拟串行通信的时序。这种方法灵活性高,成本低,但对单片机性能有一定要求。接收和发送过程中,通常需要...

    C# 扩展方法小结

    在实现上,C#编译器通过应用名为`ExtensionAttribute`的特性来识别扩展方法。当调用一个不存在的实例方法时,编译器会搜索所有引用的程序集,查找包含扩展方法的静态类。 .NET 3.5引入的LINQ(Language Integrated ...

    基于一致性哈希算法的分布式数据库高效扩展方法.pdf

    综上所述,本文所提出的一致性哈希算法的高效扩展方法,为解决分布式数据库在实际应用中的扩展难题提供了一种有效的技术途径。通过对哈希环的优化和节点编码策略的改进,极大地提高了数据库扩展的效率和系统的稳定性...

    PHP扩展开发及内核应用

    《PHP扩展开发及内核应用》是一本深入探讨PHP扩展编程和PHP内核机制的书籍,基于Sara Golemon的《Extending and Embedding PHP》进行翻译和修订,主要面向那些希望深入了解PHP并可能想要为其开发自定义扩展的开发者...

    mvc扩展方法分页分页

    这个"mvc扩展方法分页"主题涉及到的是如何在MVC应用中实现高效且用户友好的分页功能,同时支持关键词搜索。 分页是大型数据集管理的关键技术,它允许用户逐步浏览大量信息,而不是一次性加载所有内容,从而提高页面...

    三菱FX2N系列PLC中定时器扩展应用的探索.pdf

    三菱FX2N系列PLC中的定时器扩展应用探索 在现代工业自动化领域,可编程逻辑控制器(PLC)是控制系统的核心,而定时器作为PLC的重要组成部分,在自动化控制中扮演着关键角色。三菱FX2N系列PLC因其灵活的编程和控制...

    MVC 中使用扩展方法

    本文将深入探讨如何在MVC中使用扩展方法,以及它在实际项目中的应用。我们将通过ASP.NET MVC5入门教程的第四部分来讲解这个主题。 首先,我们需要了解什么是扩展方法。扩展方法是C#语言的一个特性,它允许我们在一...

    PLC控制系统I/O点扩展方法的设计

    总结来说,PLC的I/O点扩展方法主要涉及硬件电路设计、软件编程和硬软件结合三个方面。对于实际工程应用中的I/O点不足,应根据具体需求和条件,灵活选择和组合这些方法,以实现高效、经济的控制系统设计。

    LanguageFeatureso——对不能修改的类添加功能——使用扩展方法

    虽然扩展方法不能直接应用于接口,但可以通过创建一个实现该接口的匿名类或自定义类,并在其中定义扩展方法来间接实现接口的扩展。例如,如果我们有一个`ICalculator`接口: ```csharp public interface ...

Global site tag (gtag.js) - Google Analytics