Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 设计时的属性需求_C#_Custom Attributes - Fatal编程技术网

C# 设计时的属性需求

C# 设计时的属性需求,c#,custom-attributes,C#,Custom Attributes,以一些XUnit属性为例,有一个TheoryAttribute和一个InlineDataAttribute 如果我有一个测试方法,并且我只对它应用了Theory属性,那么VisualStudio会在方法名称下面加上红色下划线,并抱怨Theory方法必须有测试数据和参数 如果我随后添加InlineDataAttribute,如以下示例所示: Visual Studio抱怨在本例中没有与值12匹配的参数 我的问题是,,我如何编写自己的自定义属性,使它们能够像这些XUnit属性一样在设计时验证它们

以一些XUnit属性为例,有一个TheoryAttribute和一个InlineDataAttribute

如果我有一个测试方法,并且我只对它应用了Theory属性,那么VisualStudio会在方法名称下面加上红色下划线,并抱怨Theory方法必须有测试数据和参数

如果我随后添加InlineDataAttribute,如以下示例所示:

Visual Studio抱怨在本例中没有与值12匹配的参数


我的问题是,,我如何编写自己的自定义属性,使它们能够像这些XUnit属性一样在设计时验证它们所放置的内容呢?

最有可能的是XUnit还添加了一个代码分析器,它是一个库,可以挂接到Roslyn编译器魔术中,以提供代码检查和修复。如果这是真的,那么它就是这是为什么我找不到关于这个话题的任何东西的原因。这是xUnit自己的自定义分析仪,请看这里:以及它们包含的规则:感谢盖伊的回答,最有可能的是,XUnit还添加了一个代码分析器,这是一个库,它与Roslyn编译器魔法挂钩,以提供代码检查和修复。如果这是真的,那么这就解释了为什么我在这个主题上找不到任何东西。这是XUnit自己的自定义分析器,看这里:它们包含的规则:谢谢你们的回答