Microsoft.CodeAnalysis.CSharp 命名空间

CSharpCommandLineArguments

C# Microsoft.CodeAnalysis.CSharp.CSharpCompiler的命令行参数。

CSharpCommandLineParser
CSharpCompilation

编译对象是编译器的单个调用的不可变表示形式。 虽然不可变,但编译也是按需的,并且会根据需要实现和缓存数据。 使用小型增量的应用程序,编译可以从现有编译生成新的编译。 在许多情况下,它比从头开始创建新编译更有效,因为新编译可以重复使用旧编译中的信息。

CSharpCompilationOptions

表示影响编译的各种选项,例如是发出可执行文件还是库、是否优化生成的代码等。

CSharpDiagnosticFormatter
CSharpExtensions
CSharpFileSystemExtensions
CSharpGeneratorDriver

GeneratorDriver CSharp 语言的实现。

CSharpParseOptions

此类存储多个源分析相关选项,并提供对其值的访问权限。

CSharpScriptCompilationInfo
CSharpSyntaxNode

表示语法树中的非终端节点。

CSharpSyntaxRewriter

表示一个 CSharpSyntaxVisitor<TResult> 降序整个 CSharpSyntaxNode 图形,并可以按深度优先顺序替换或删除已访问的 SyntaxNode。

CSharpSyntaxTree

C# 源文档的已分析表示形式。

CSharpSyntaxVisitor

表示 CSharpSyntaxNode 仅访问传递到其 Visit 方法的单个 CSharpSyntaxNode 的访问者。

CSharpSyntaxVisitor<TResult>

表示 CSharpSyntaxNode 仅访问传递到 Visit 方法的单个 CSharpSyntaxNode 的访问者,并生成参数指定的 TResult 类型的值。

CSharpSyntaxWalker

表示 CSharpSyntaxVisitor 访问每个 CSharpSyntaxNode 及其子 SyntaxNode 的整个 CSharpSyntaxNode 图形的降序,并 SyntaxToken按深度优先顺序降序。

LanguageVersionFacts
SymbolDisplay

在 C# 样式中显示符号。

SyntaxExtensions
SyntaxFactory

一个类,包含用于构造语法节点、令牌和琐事的工厂方法。

SyntaxFacts

定义一组方法来确定 C# 编译器如何处理 Unicode 字符。

TypedConstantExtensions

结构

AwaitExpressionInfo

包含有关 await 表达式的所有语义信息的结构。

Conversion

总结是否允许转换,如果是,则 (哪种类型的转换,在某些情况下,关联的符号) 。

DeconstructionInfo

解构作为解构方法和转换树的表示形式。 方法仅显示在非终端节点中。 所有终端节点都有一个转换。

下面是一个示例:一个解构,例如 (int x1, (long x2, long x3)) = deconstructable1Deconstructable1.Deconstruct(out int y1, out Deconstructable2 y2)Deconstructable2.Deconstruct(out int z1, out int z2) 表示为 5 个解构Info 节点。

顶级节点具有 Method (解码器1.解构) ,没有 Conversion,但有两个 Nested 节点。 其第一个嵌套节点没有 Method,但具有 Conversion (标识) 。 其第二个 Method 嵌套节点具有 (Deconstructable2.Deconstruct) 、no Conversion和两 Nested 个节点。 最后两个嵌套节点没有 Method,但每个节点都有一个 Conversion 从 int 到长) 的 (ImplicitNumeric。

ForEachStatementInfo

包含有关每个语句的所有语义信息的结构。

QueryClauseInfo

与 C# 查询表达式中的查询子句关联的语义信息。

枚举

LanguageVersion

指定语言版本。

NullableContextOptions

指定可为 null 的上下文。

SyntaxKind