NET诊断分析器

诊断分析器

一. 安装Microsoft.CodeAnalysis.CSharp

二. 实现一个自定义类

类必须增加[DiagnosticAnalyzer]标注

类必须继续自DiagnosticAnalyzer

  1. 定义诊断描述符: 定义了一个诊断描述符 DiagnosticDescriptor,用于描述当检测到类声明时报告的诊断信息。

  2. 支持的诊断:返回此分析器支持的诊断列表,仅包含上面定义的 DiagnosticDescriptor。

  3. 初始化分析器:

    a. 配置分析器不分析生成的代码。
    b. 允许分析器并发执行以提高性能。
    c. 注册一个语法节点动作来进行语法分析

  4. 定义语法节点动作: 在节点动作方法中,将正在分析的语法节点,不符合要求,则报告诊断。

例:

using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.Diagnostics;
using System.Collections.Immutable;

// 此属性表示 ClassDeclarationAnalyzer 类是一个针对 C# 语言的诊断分析器
[DiagnosticAnalyzer(LanguageNames.CSharp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值