Enterprise Library 3.0 体验:使用配置文件的Validation Application Block

本文介绍如何使用EnterpriseLibrary3.0January2007CTP版中的ValidationApplicationBlock进行配置文件验证。通过实例演示了如何配置User实体类的验证规则,并展示了验证代码的编写过程。

摘要:Enterprise Library 3.0 January 2007 CTP版发布了,这次发布的版对于Validation Application Block有了很大的改进,包括对配置工具的支持,与ASP.NET以及WinForm的集成等新的特性。在上一篇文章中我介绍了如何使用Attribute来实现验证,文本看一下如何利用配置文件来使用Validation Application Block

 

1.新建一个控制台应用程序,仍然使用我在前一篇文章中用过的User实体类,这跟我们编写的普通业务对象并没有任何区别:

public class User

{

    private String _name;

 

    private int _age;

 

    public String Name

    {

        get { return _name; }

        set { _name = value; }

    }

 

    public int Age

    {

        get { return _age; }

        set { _age = value; }

    }

}

2.先对项目编译,添加配置文件App.config,在VS.NET2005中打开,默认会用Enterprise Library配置工具打开,新建Validation Application Block,如下图所示:

3.完成后在Validation Application Block上右键菜单中新建类型,就是我们需要验证的类:

在弹出的类型选择对话框中,加载我们刚才编译后的.EXE文件,就可以找到User类,在实际中我们会把它们单独放在一个项目中,这时只需要加载对应的DLL文件就可以了。

4.在User类上新建验证规则的集合,可以在属性对话框中修改验证规则的名称,对于每个类我们可以建立多个验证规则:

5.在规则上就可以新建我们需要验证的属性了,这里我们建立NameAge两个属性,也可以建立对FieldMethod的验证:

6.在属性上创建验证器,在当前版本中,Validation Application Block提供了大量了验证器供我们使用,如下图所示:

7.对于每个验证器,可以通过属性对话框中的MessageTemplate属性来设置验证通不过时的提示信息:

8.前面说过可以建立多个验证规则,对于每个类型,可以为它设置一个默认的验证规则:

9.编写简单的验证代码,仍然使用Validation外观类,我们可以使用ValidateFromConfiguration方法来实现验证:

class Program

{

    static void Main (string[] args)

    {

        User user = new User();

        user.Name = "TerryLee";

        user.Age = 210;

 

        ValidationResults results = Validation.ValidateFromConfiguration<User>(user);

 

        foreach (ValidationResult result in results)

        {

            Console.WriteLine(String.Format("Key: {0},Message: {1}", result.Key.ToString(), result.Message));

        }

 

        Console.Read();

 

    }

}

简单的使用配置文件的Validation Application Block验证就完成了。在后面的文章中我会介绍到Validation Application Block如何与ASP.NETWinForm集成等新的特性J

注意本文使用的版本是Enterprise Library 3.0 January 2007 CTP版本。

  http://www.cnblogs.com/Terrylee/archive/2007/01/21/enterprise_library_validation_application_block_part_2.html

内容概要:本文档围绕六自由度机械臂的ANN人工神经网络设计展开,涵盖正向与逆向运动学求解、正向动力学控制,并采用拉格朗日-欧拉法推导逆向动力学方程,所有内容均通过Matlab代码实现。同时结合RRT路径规划与B样条优化技术,提升机械臂运动轨迹的合理性与平滑性。文中还涉及多种先进算法与仿真技术的应用,如状态估计中的UKF、AUKF、EKF等滤波方法,以及PINN、INN、CNN-LSTM等神经网络模型在工程问题中的建模与求解,展示了Matlab在机器人控制、智能算法与系统仿真中的强大能力。; 适合人群:具备一定Ma六自由度机械臂ANN人工神经网络设计:正向逆向运动学求解、正向动力学控制、拉格朗日-欧拉法推导逆向动力学方程(Matlab代码实现)tlab编程基础,从事机器人控制、自动化、智能制造、人工智能等相关领域的科研人员及研究生;熟悉运动学、动力学建模或对神经网络在控制系统中应用感兴趣的工程技术人员。; 使用场景及目标:①实现六自由度机械臂的精确运动学与动力学建模;②利用人工神经网络解决传统解析方法难以处理的非线性控制问题;③结合路径规划与轨迹优化提升机械臂作业效率;④掌握基于Matlab的状态估计、数据融合与智能算法仿真方法; 阅读建议:建议结合提供的Matlab代码进行实践操作,重点理解运动学建模与神经网络控制的设计流程,关注算法实现细节与仿真结果分析,同时参考文中提及的多种优化与估计方法拓展研究思路。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值