官术网_书友最值得收藏!

  • Roslyn Cookbook
  • Manish Vasani
  • 227字
  • 2021-07-15 17:07:39

How to do it...

  1. Open a C# project, say ClassLibrary, with the analyzer NuGet package System.Runtime.Analyzers.nupkg pre-release version 1.2.0-beta2 installed in it.
  2. In the solution explorer, expand References | Analyzers nodes to view the analyzer assemblies installed through the analyzer NuGet package(s). We should see two analyzer assemblies, System.Runtime.Analyzers and System.Runtime.CSharp.Analyzers:
  1. Expand the System.Runtime.Analyzers node to view all the CAXXXX rules implemented in the assembly and click on a specific rule, say CA1813: Avoid unsealed attributes, to view the rule properties, such as ID, Message, Title, Description, Category, Effective severity, Enabled by default, and so on, in the Properties Window:
  1. Note that the CA1813 rule's Enabled by default is False, which means that the rule is turned off by default. We can confirm this by adding the following source code that violates this rule because we declared a public unsealed attribute, but CA1813 is not reported for the violation:
using System;

namespace ClassLibrary
{
[AttributeUsage(AttributeTargets.All)]
public class MyAttribute: Attribute
{
}
}
  1. Right-click on the rule node, click on Set Rule Set Severity, and change the severity from Default to Warning:
  1. Confirm that CA1813 is now reported for the preceding code:
  1. Save the current project and then close and re-open the solution.
  2. Verify that the warning CA1813 still shows up for the preceding source code, confirming that the rule set severity change was persisted for the project.
主站蜘蛛池模板: 会昌县| 凤凰县| 三原县| 喀喇| 西充县| 岳西县| 海晏县| 运城市| 东莞市| 平定县| 泌阳县| 子洲县| 泉州市| 盐亭县| 丘北县| 昂仁县| 富裕县| 华安县| 瑞昌市| 永丰县| 清流县| 吐鲁番市| 长海县| 拜泉县| 阜康市| 始兴县| 芦溪县| SHOW| 祁门县| 广平县| 固原市| 台前县| 漯河市| 民县| 呼和浩特市| 杨浦区| 大埔区| 信丰县| 靖边县| 松江区| 增城市|