在Dynamics AX 6中,有引入一种称为Attribute的新特性。请看:

[SysTestTargetAttribute('MyClass')]
class MyTestCase extends SysTestCase
{
}

【注:以上代码来自http://blogs.msdn.com/mfp/archive/2009/04/02/ax6-sneak-preview-x-unit-test-improvements.aspx

其实到目前为止,我手头没有拿到Dynamics AX 6的版本,这种新特性也是从上面的博客中看到。但我想,对于只专注于X++开发的人来说,这种写法有点让人不好理解。因此我打算在这里做个简单的介绍。

事实上这种思想来自于.NET的attribute,attribute也是一个类,这个类的主要作用是为其它的类提供描述信息,也就是常说的meta data。比如上面的代码,SysTestTargetAttribute是特性类(attribute class),而MyTestCase类则是被描述类(decorated class),SysTestTargetAttribute描述了这样一种事实:MyTestCase是一种被标记为SysTestTargetAttribute的类,而标记的详细信息则由SysTestTargetAttribute的构造函数或成员属性指定。

有关于Attribute与类的成员属性之间的关系,读者可以参考我在CSAI系统架构设计专家组的这篇文章:《再谈属性与特性》。

相关文章:

  • 2021-10-01
  • 2021-11-13
  • 2021-08-01
  • 2021-11-25
  • 2022-12-23
  • 2021-09-20
  • 2021-08-05
猜你喜欢
  • 2022-02-16
  • 2021-06-13
  • 2022-01-01
  • 2021-12-13
  • 2022-12-23
  • 2021-12-02
  • 2021-10-08
相关资源
相似解决方案