基于属性的编程有哪些优点?

Sco*_*ies 6 c# attributes declarative

我正在使用WCF RIA服务,并且遇到了使用属性的示例:

[StringLength(10, ErrorMessage="Too long")]
public string FirstName { get; set; }
...
Run Code Online (Sandbox Code Playgroud)

虽然属性不仅限于WCF RIA,但它让我想起了一个问题:为什么基于声明式或基于属性的编程可以编写验证例程"老式方式"?

谢谢,

斯科特

Mar*_*rco 7

因为可以在不必执行代码的情况下发现约束.通过反射,您可以访问这些约束.