当前位置: 首页 > wzjs >正文

甘肃省建筑工程建设监理公司网站手机搜索引擎排行榜

甘肃省建筑工程建设监理公司网站,手机搜索引擎排行榜,鄂州网站推广,澄海网站建设一、创建项目(注意这里不要选netstandard2.1会有报错) 二、NuGet上安装Microsoft.CodeAnalysis.CSharp 三、实现[Partial]特性标注的类,结构体,record必须要partial关键字修饰 需要继承DiagnosticAnalyzer 注意一定要加特性Diagn…

一、创建项目(注意这里不要选netstandard2.1会有报错)

在这里插入图片描述

二、NuGet上安装Microsoft.CodeAnalysis.CSharp

在这里插入图片描述

三、实现[Partial]特性标注的类,结构体,record必须要partial关键字修饰

需要继承DiagnosticAnalyzer
注意一定要加特性DiagnosticAnalyzer

using System.Collections.Immutable;
using System.Linq;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.Diagnostics;namespace CodeAnalysic
{[DiagnosticAnalyzer(LanguageNames.CSharp)]public class PartialAnalyzer : DiagnosticAnalyzer{public override void Initialize(AnalysisContext context){context.EnableConcurrentExecution();context.ConfigureGeneratedCodeAnalysis(GeneratedCodeAnalysisFlags.None);// 注册语义分析完成时要执行的回调context.RegisterSyntaxNodeAction(AnalyzeType, SyntaxKind.ClassDeclaration);context.RegisterSyntaxNodeAction(AnalyzeType, SyntaxKind.StructDeclaration);context.RegisterSyntaxNodeAction(AnalyzeType, SyntaxKind.RecordDeclaration);}public override ImmutableArray<DiagnosticDescriptor> SupportedDiagnostics => ImmutableArray.Create(Rule);private static void AnalyzeType(SyntaxNodeAnalysisContext context){//类型声明 的语法树(Syntax Tree)节点的一个基础抽象类var decl = (TypeDeclarationSyntax)context.Node;// 检查是否有 [Partial] 特性bool hasAttr = decl.AttributeLists.SelectMany(a => a.Attributes).Any(attr =>attr.Name.ToString() == "Partial");if (!hasAttr)return;// 检查是否使用 partialbool isPartial = decl.Modifiers.Any(m => m.IsKind(SyntaxKind.PartialKeyword));if (!isPartial){var kind = decl switch{ClassDeclarationSyntax _ => "类",StructDeclarationSyntax _ => "结构体",_ => "record"};var diag = Diagnostic.Create(Rule,decl.Identifier.GetLocation(),kind,decl.Identifier.Text);context.ReportDiagnostic(diag);}}private static readonly DiagnosticDescriptor Rule = new DiagnosticDescriptor(id: "P0001",title: "类型标记了 [Partial],应声明为 partial",messageFormat: "{0} '{1}' 标记了 Partial 特性,但未声明为 partial",category: "Usage",defaultSeverity: DiagnosticSeverity.Error,isEnabledByDefault: true);}
}
public class PartialAttribute: Attribute{}

四、构建 (VS:生成)

在这里插入图片描述

五、将dll拖入Unity

在这里插入图片描述

在这里插入图片描述

六、拖入发现出现报错,需要将Platform勾选全部去掉

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

七、测试代码

在这里插入图片描述

八、这时发现没有检查效果。需要添加标签RoslynAnalyzer

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

九、如果这里你在开始创建时没有选择netstandard2.1,那么忽略

在这里插入图片描述
右键解决方案=>属性
在这里插入图片描述
重新导入并添加标签RoslynAnalyzer
在这里插入图片描述
在这里插入图片描述

10、最终控制台已经出现效果

在这里插入图片描述

官方文档

http://www.dtcms.com/wzjs/523838.html

相关文章:

  • 中山币做网站公司企业网站开发
  • 贵阳企业自助建站系统软文宣传
  • wordpress 链接 样式表杭州百度seo
  • 苏州建站公司速找苏州聚尚网络广告开户
  • 做logo的ppt模板下载网站百度引擎搜索引擎
  • 网迎客 网站建设百度图片搜索图片识别
  • 做直播网站赚钱百度网站推广价格
  • 网站备案各种问题汇总网络推广一个月工资多少
  • asp.net 3.5网站开发全程解析 广告公司的业务范围
  • 股票可以做网站推广吗北京seo公司wyhseo
  • 做投票的网站赚钱嘛武汉seo报价
  • 网站导航栏按钮培训班报名
  • 新华区设计网站公司考研培训
  • 专家库 网站 建设方案seo管理是什么
  • 淘宝客做的比较好的网站百度网盘客服中心电话
  • 南昌网站建设公司特色如何网络媒体推广
  • 怎么自创网站seo指的是什么
  • 北京行业网站制作网络广告公司
  • 网站建设网站定制网站关键词推广
  • 制作网站开发东莞seo推广公司
  • 网站规划和建设的基本步骤百度快照首页
  • 法制办网站建设seo优化公司哪家好
  • 怎么自己创建一个网站代码百度安装免费下载
  • wordpress编程视频教程seo优化服务是什么意思
  • 武汉做网站公司有哪些千万不要做手游推广员
  • 工程建设其他费百度seo怎么做
  • 手机网站制作套餐精准营销理论
  • 网页设计与网站建设书籍小程序自助搭建平台
  • 怎么做网站多少钱免费论坛建站系统
  • 襄阳万家灯火网站建设成都新闻最新消息