Microsoft.CodeAnalysis.CSharp.PatternMatching:Roslyn语法树的模式匹配

时间:2024-06-05 16:49:07
【文件属性】:

文件名称:Microsoft.CodeAnalysis.CSharp.PatternMatching:Roslyn语法树的模式匹配

文件大小:68KB

文件格式:ZIP

更新时间:2024-06-05 16:49:07

C#

Microsoft.CodeAnalysis.CSharp.PatternMatching 在过去的几周里,我一直与Roslyn一起在大型代码库上进行自动化重构。 这涉及语法树上的许多模式匹配。 通常,您需要编写的代码非常可怕。 该项目是为了解决此问题。 免责声明 该项目是概念证明。 我不打算将其作为NuGet软件包发布或积极维护。 话虽如此,如果改进和公关能够为项目增值,我就表示欢迎。 教程 该项目是一种在语法树上进行模式匹配的方法。 这个想法是您建立一个模式并针对SyntaxNode或节点树运行该模式。 让我们以下面的简单应用程序为例: using System ; using System . Collections . Generic ; using System . Linq ; using System . Text ; using System . Threading


【文件预览】:
Microsoft.CodeAnalysis.CSharp.PatternMatching-master
----.gitignore(61B)
----Microsoft.CodeAnalysis.CSharp.PatternMatching.sln(2KB)
----LICENSE(8KB)
----README.md(11KB)
----Microsoft.CodeAnalysis.CSharp.PatternMatching()
--------SymbolPattern.cs(1KB)
--------NullExpressionPattern.cs(747B)
--------app.config(2KB)
--------packages.config(4KB)
--------Microsoft.CodeAnalysis.CSharp.PatternMatching.csproj(10KB)
--------Pattern.cs(3KB)
--------AnySymbolPattern.cs(1KB)
--------Syntax.Generated.tt(15KB)
--------AnyNodePattern.cs(747B)
--------NullStatementPattern.cs(744B)
--------PatternNodeExtensions.cs(7KB)
--------AnyLambdaExpressionPattern.cs(2KB)
--------Syntax.Generated.cs(303KB)
--------Syntax.xml(168KB)
--------SingleStatementPattern.cs(1KB)
--------TokenListPattern.cs(888B)
--------VarTypePattern.cs(793B)
--------PatternNode.cs(755B)
--------NodeListPattern.cs(2KB)
--------Properties()
--------SemanticModelExtensions.cs(1KB)
----.editorconfig(48B)
----Microsoft.CodeAnalysis.CSharp.PatternMatching.Test()
--------app.config(2KB)
--------packages.config(4KB)
--------SimpleFixture.cs(3KB)
--------MultiMatchFixture.cs(2KB)
--------Properties()
--------Microsoft.CodeAnalysis.CSharp.PatternMatching.Test.csproj(10KB)

网友评论