C语言中Java元注释的等价物#
我想简化一些Xunit属性,以减少一些代码并将所有测试作为原型实现。例如,我在集成测试代码中使用它的TraitAttribute
来区分同一测试类中多个存根之间的测试端点
[Fact]
[Trait("Action", "Create")]
public async Task CreateCategory_ReturnsNewCategoryIfParamsValid()
{
// test case implementation
}
在大多数情况下,Java中的Spring框架允许我将注释重写为meta-annotations
对于属性,是否可以在C#中执行相同的操作
最后,我想写我的测试存根如下
[Fact]
[ActionTrait(Actions.Create)]
public async Task CreateCategory_ReturnsNewCategoryIfParamsValid()
{
// test case implementation
}
# 1 楼答案
是的,因为C#属性只是从
Attribute
派生的类,并且类可以有属性,这意味着属性本身可以有属性在属性上查找属性完全取决于读取和处理属性的代码