我正在使用 WCF RIA 服务,并且遇到了一个使用属性的示例:
[StringLength(10, ErrorMessage="Too long")]
public string FirstName { get; set; }
...
虽然属性不限于 WCF RIA,但它让我想起了一个问题:为什么声明式或基于属性的编程更适合于“老式方式”编写验证例程?
谢谢,
斯科特
我正在使用 WCF RIA 服务,并且遇到了一个使用属性的示例:
[StringLength(10, ErrorMessage="Too long")]
public string FirstName { get; set; }
...
虽然属性不限于 WCF RIA,但它让我想起了一个问题:为什么声明式或基于属性的编程更适合于“老式方式”编写验证例程?
谢谢,
斯科特
因为无需执行代码即可发现约束。通过反射,您可以访问这些约束。
最大的好处是可重用性。能够设置一次(名称、必需、正则表达式等)然后在您的 WCF 应用程序以及 MVC 应用程序中使用它,并且一切都保持一致,这真是太好了。
并不是基于属性的编程优于“老式方式”验证。一般来说:
否则,两种方法之间没有太大区别。
使用属性时要考虑的一件事是因为它们是可发现的,您可以使用它们来添加业务级客户端验证。