Microsoft.CodeAnalysis 命名空间

名称 说明
AdditionalDocument

表示传递到分析器的其他文件。

AdditionalText

表示非源代码文件。

AdhocWorkspace

允许完全操作项目和文档但不会保留更改的工作区。

AnalyzerConfig

表示单个 EditorConfig 文件,请参阅 https://editorconfig.org 有关格式的详细信息。

AnalyzerConfig.Section

表示 editorconfig 文件的命名节,该文件由名称后跟一组键值对组成。

AnalyzerConfigDocument
AnalyzerConfigSet

表示一组 AnalyzerConfig,可以计算给定源文件的有效分析器选项。 这用于收集将应用于编译的所有 AnalyzerConfig 文件。

AnnotationExtensions
AssemblyIdentity

表示 CLI 元数据规范定义的程序集的标识。

AssemblyIdentityComparer

比较程序集标识。 派生类型可以实现特定于平台的统一和可移植性策略。

AssemblyMetadata

表示程序集 CLI 元数据的不可变快照。

AttributeData
CaseInsensitiveComparison

unicode 字符串上的不区分大小写的操作(主要是比较)。

CodeAnalysisProgress

表示操作的进度。 通常用于在长时间运行的操作发生时更新用户可见的 UI。

CommandLineArguments

用于表示命令行参数的 Microsoft.CodeAnalysis.CommonCompiler基类。

CommandLineParser
CommandLineProject
Compilation

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

CompilationOptions

表示 C# 和 VB 通用的编译选项。

CompilationReference

对另一个 C# 或 VB 编译的引用。

ControlFlowAnalysis

提供有关传入和传出区域的传输控制语句的信息。 此信息是从调用返回的 Microsoft.CodeAnalysis.SemanticModel.AnalyzeControlFlow(Microsoft.CodeAnalysis.SyntaxNode)

CSharpExtensions
CustomModifier
DataFlowAnalysis

提供有关数据流入和流出区域的信息。 此信息是从对区域的第一个和最后一个语句作为参数传递的调用 Microsoft.CodeAnalysis.SemanticModel.AnalyzeDataFlow(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.SyntaxNode)或特定于语言的重载返回的。 “Inside”表示这些语句或它们之间的语句。 “Outside”是同一方法的任何其他语句。

DesktopAssemblyIdentityComparer
DesktopStrongNameProvider

提供强名称和对源程序集进行签名。

Diagnostic

表示诊断,例如编译器错误或警告,以及它发生的位置。

DiagnosticDescriptor

提供有关 a Diagnostic

DiagnosticFormatter

设置消息的格式 Diagnostic

DllImportData

描述如何从基础平台调用方法的信息。

Document

表示作为项目的一部分的源代码文档。 它提供对源文本、已分析语法树和相应语义模型的访问权限。

DocumentActiveContextChangedEventArgs
DocumentationCommentId

用于构造文档注释 ID 的 API,并查找与 ID 匹配的符号。

DocumentationProvider

用于向编译器提供元数据成员的 XML 文档的类。 应从 DocumentResolver 返回此类的自定义实现,以提供来自自定义缓存或位置的 XML 文档注释。

DocumentDiagnostic
DocumentEventArgs
DocumentId

可用于跨工作区版本检索相同的 Document 标识符。

DocumentInfo

一个类,表示创建新文档实例所需的所有参数。

EmbeddedText

表示要嵌入到 PDB 中的文本。

ErrorLogOptions

用于控制生成包含编译或分析器诊断的 SARIF 日志文件的选项。

ExtensionOrderAttribute
FileSystemExtensions
FileTextLoader
GeneratorAttribute

将此属性置于类型上,以使其被视为源生成器

GeneratorDriver

负责协调源生成传递

GeneratorDriverRunResult

表示通过一组 ISourceGenerators 运行生成传递的结果。

GeneratorExtensions
IncrementalGeneratorRunStep

说明已执行的增量生成器的步骤。

IncrementalValueProviderExtensions
ISymbolExtensions
LanguageNames

为公共语言名称提供常量的类。

LocalizableResourceString

可本地化的资源字符串,可能根据区域性以不同的方式设置格式。

LocalizableString

根据区域性,可能采用不同的格式设置的字符串。 注意:实现 LocalizableString 的类型必须可序列化。

Location

源代码中的程序位置。

Metadata

表示不可变程序集或模块 CLI 元数据。

MetadataId

可用于标识元数据实例的 ID。 如果两个元数据实例具有相同的 ID,则保证它们具有相同的内容。 如果两个元数据实例具有不同的 ID,则内容可能相同,也可能不相同。 因此,当客户端想要共享元数据引用的数据时,ID 在缓存中用作密钥,只要它未更改。

MetadataReference

表示元数据图像引用。

MetadataReferenceResolver

解析对源中指定的元数据的引用(#r 指令)。

ModelExtensions
ModuleMetadata

表示模块 CLI 元数据的不可变快照。

NullableContextExtensions
NullableContextOptionsExtensions
ParseOptions

表示 C# 和 VB 通用分析选项。

PortableExecutableReference

对以标准 ECMA-335 元数据格式存储的元数据的引用。

Project

表示属于 . Solution.

ProjectDependencyGraph

ProjectDependencyGraph 解决方案中的项目之间的依赖关系建模。

ProjectDiagnostic
ProjectId

可用于跨版本引用相同的 Project 标识符。

ProjectInfo

一个类,表示创建新项目实例所需的所有参数。

ProjectReference
ResourceDescription

要嵌入到输出程序集中的资源的表示形式。

RuleSet

表示规则集文件中指定的一组规则。

RuleSetInclude

表示 RuleSet 文件中的 Include 标记。

SarifVersionFacts
ScriptCompilationInfo
SemanticModel

允许在编译中询问有关语法节点树的语义问题。 通常,通过调用 GetSemanticModel(SyntaxTree, SemanticModelOptions)来获取实例。

SeparatedSyntaxList
Solution

表示一组项目及其源代码文档。

SolutionId

可用于跨版本引用同一解决方案的标识符。

SolutionInfo

一个类,表示创建新解决方案实例所需的所有参数。

SourceFileResolver

解析对源代码中指定的源文件的引用。

SourceGeneratedDocument

Document 一个 ISourceGenerator.

SourceReferenceResolver

解析对源中指定的源文档的引用。

StrongNameProvider

提供强名称和对源程序集进行签名。

SuppressionDescriptor

提供有关由 a DiagnosticSuppressor. 的编程抑制Diagnostic的说明。

SymbolDisplayExtensions

公开用于显示符号说明的扩展方法。

SymbolDisplayFormat

描述显示符号时应使用的格式设置规则。

SymbolEqualityComparer

允许比较两 ISymbol 个实例

SymbolVisitor
SymbolVisitor<TResult>
SymbolVisitor<TArgument,TResult>
SyntaxAnnotation

SyntaxAnnotation 用于批注语法元素以及附加信息。

由于语法元素是不可变的,因此批注它们需要使用附加的批注创建新实例。

SyntaxList
SyntaxNode

表示语法树中的非终端节点。 这是与语言无关的CSharpSyntaxNode等效语言。VisualBasicSyntaxNode

SyntaxNodeExtensions
SyntaxReference

对语法节点的引用。

SyntaxTree

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

SyntaxTreeOptionsProvider
SyntaxWalker

演练语法树,允许子类在所有节点、令牌和琐事上运行。 步行者将首先执行树的深度行走。

TextAndVersion

表示源文本及其版本标记的类。

TextDocument
TextDocumentEventArgs
TextLoader

一个类,表示从存储位置访问源文本及其版本。

UnresolvedMetadataReference

表示不能解析或尚未解析的元数据引用。

VisualBasicExtensions

添加Visual Basic语法扩展方法。

WellKnownDiagnosticTags
WellKnownGeneratorInputs

已知的增量生成器输入步骤名称。

WellKnownGeneratorOutputs

已知的增量生成器输出步骤名称。

WellKnownMemberNames

指定编译器已知的成员名称(例如 .ctorop_Explicit)。

Workspace

工作区提供对一组活动的源代码项目和文档及其关联的语法树、编译和语义模型的访问权限。 工作区具有当前解决方案,该解决方案是项目和文档的不可变快照。 当工作区从环境中的实时交互或通过调用工作区 TryApplyChanges(Solution) 的方法进行更新时,此属性可能会随时间而变化。

WorkspaceChangeEventArgs

EventArgs描述任何类型的工作区更改。

WorkspaceDiagnostic
WorkspaceDiagnosticEventArgs
WorkspaceEventRegistration

表示工作区事件的注册,确保事件处理程序在释放时正确注销。

WorkspaceKind

已知工作区类型

WorkspaceRegistration
XmlDocumentationProvider

用于为来自 XML 文档源的元数据的成员提供 XML 文档的类。

XmlFileResolver

解析对源中指定的 XML 文件的引用。

XmlReferenceResolver

解析对源代码中指定的 XML 文档的引用。

结构

名称 说明
AnalyzerConfig.SectionNameMatcher
AnalyzerConfigOptionsResult

保存来自 GetOptionsForSourcePath(String).. 的结果。

ChildSyntaxList
ChildSyntaxList.Enumerator

枚举 . 的 ChildSyntaxList元素

ChildSyntaxList.Reversed
ChildSyntaxList.Reversed.Enumerator
ClosedDerivedTypeInfo

有关已关闭类型的派生类型的信息。

CommandLineAnalyzerReference

描述命令行分析器程序集规范。

CommandLineReference

描述命令行元数据引用(程序集或 netmodule)规范。

CommandLineResource

描述命令行参数中存储的清单资源规范。

CommandLineSourceFile

描述在命令行参数上存储的源文件规范。

CompilationOutputInfo

编译生成的文件的路径。

FileLinePositionSpan

以文件名、行号和行内偏移量表示源代码文件中的文本范围。 但是,当系统要求分析时,该文件实际上是传入的任何文件;可能实际上没有文件。

GeneratedSourceResult

表示调用AddSource(String, SourceText)的结果ISourceGenerator

GeneratedSourceText

创建的源文本

GeneratorAttributeSyntaxContext
GeneratorDriverOptions

在创建过程中传递给的选项 GeneratorDriver

GeneratorDriverTimingInfo

包含完整生成传递的计时信息。

GeneratorExecutionContext

调用时 Execute(GeneratorExecutionContext) 传递给源生成器的上下文

GeneratorFilterContext

传递给筛选器以确定是否应执行生成器的上下文。

GeneratorInitializationContext

调用时 Initialize(GeneratorInitializationContext) 传递给源生成器的上下文

GeneratorPostInitializationContext

通过 选择加入 PostInitialization 时传递给源生成器的上下文 RegisterForPostInitialization(Action<GeneratorPostInitializationContext>)

GeneratorRunResult

表示单个 ISourceGenerator 生成传递的结果。

GeneratorSyntaxContext

调用时间OnVisitSyntaxNode(GeneratorSyntaxContext)时传递ISyntaxContextReceiver的上下文

GeneratorTimingInfo

包含单个生成器的计时信息。

HostOutputProductionContext

通过 注册输出时传递给增量生成器的上下文 RegisterHostOutput<TSource>(IncrementalValuesProvider<TSource>, Action<HostOutputProductionContext,TSource>)

ImportedNamespaceOrType

表示已导入的一个 INamespaceOrTypeSymbol ,并在该位置声明导入的位置。 这对应于 using Namespace; C using static Type; # 或 Imports TypeOrNamespace Visual Basic 中。

ImportedXmlNamespace

表示导入的 xml 命名空间名称。 这在 Visual Basic 中对应 Imports <xmlns:prefix = "name"> 。 C# 不存在它。

IncrementalGeneratorInitializationContext

调用时 Initialize(IncrementalGeneratorInitializationContext) 传递给增量生成器的上下文

IncrementalGeneratorPostInitializationContext

通过 注册输出时传递给增量生成器的上下文 RegisterPostInitializationOutput(Action<IncrementalGeneratorPostInitializationContext>)

IncrementalValueProvider<TValue>

表示作为构造执行管道的一部分可以转换的单个值的提供程序

IncrementalValuesProvider<TValues>

表示可转换以构造执行管道的多个值的提供程序

InitializationContext

调用时 Initialize(InitializationContext) 传递给源生成器的上下文

IOperation.OperationList

实现基于结构的节点集合 Microsoft.CodeAnalysis.Operation 。 此集合是有序的,但未提供对集合的随机访问。

IOperation.OperationList.Enumerator

Microsoft.CodeAnalysis.Operation 节点实现基于结构的枚举器。 此类型未强化为 default(Enumerator),在这些情况下将为 null 引用。 返回 false 后MoveNext()调用Current将引发一个 InvalidOperationException

IOperation.OperationList.Reversed

实现基于节点的 Microsoft.CodeAnalysis.Operation 反向顺序结构集合。 此集合是有序的,但未提供对集合的随机访问。

IOperation.OperationList.Reversed.Enumerator

Microsoft.CodeAnalysis.Operation 节点实现基于反向顺序的结构枚举器。 此类型未强化为 default(Enumerator),在这些情况下将为 null 引用。 返回 false 后MoveNext()调用Current将引发一个 InvalidOperationException

LineMapping

表示由单个行映射指令#line (在 C# 或 #ExternalSource VB 中)定义的行映射。

LoadTextOptions

用于加载 SourceText的选项。

MetadataReferenceProperties

有关元数据引用的信息。

NullabilityInfo
Optional<T>

合并一个值 Value,以及一个标志, HasValue指示该值是否有意义。

PreCompilationSourceProductionContext

通过 RegisterPreCompilationSourceOutput<TSource>(IncrementalValueProvider<TSource>, Action<PreCompilationSourceProductionContext,TSource>)注册输出时传递给增量生成器的上下文。 编译前的源输出在编译可用之前执行,只能添加源文件,不能报告诊断。

PreprocessingSymbolInfo
ProjectChanges
SeparatedSyntaxList<TNode>.Enumerator
SeparatedSyntaxList<TNode>
SolutionChanges
SourceGeneratorContext

调用时 Execute(SourceGeneratorContext) 传递给源生成器的上下文

SourceProductionContext

通过 注册输出时传递给增量生成器的上下文 RegisterSourceOutput<TSource>(IncrementalValueProvider<TSource>, Action<SourceProductionContext,TSource>)

SubsystemVersion

表示子系统版本,请参阅 /subsystemversion 命令行选项了解详细信息和有效值。

下表列出了常见的 Windows 子系统版本。

Windows版本子系统版本

  • Windows 2000 5.00
  • Windows XP 5.01
  • Windows Vista 6.00
  • Windows 7 6.01
  • Windows 8版本预览版 6.02
SymbolDisplayPart

符号说明的单个元素。 例如,关键字、标点符号字符或类名。

SymbolInfo
SyntaxList<TNode>.Enumerator
SyntaxList<TNode>

列表 SyntaxNode

SyntaxNodeOrToken

语法节点(SyntaxNode)或语法标记()的包装器。SyntaxToken

SyntaxNodeOrTokenList

结构列表 SyntaxNodeOrToken

SyntaxNodeOrTokenList.Enumerator

SyntaxNodeOrToken 结构列表的枚举器。

SyntaxToken

表示语法树中的标记。

SyntaxTokenList

表示只读列表 SyntaxToken

SyntaxTokenList.Enumerator

用于枚举 a SyntaxTokenList

SyntaxTokenList.Reversed

反向枚举。

SyntaxTokenList.Reversed.Enumerator
SyntaxTrivia

表示语法树中的琐事。

SyntaxTriviaList

表示只读列表 SyntaxTrivia

SyntaxTriviaList.Enumerator
SyntaxTriviaList.Reversed

反向枚举。

SyntaxTriviaList.Reversed.Enumerator
SyntaxValueProvider

允许用户为增量生成创建基于语法的输入节点

TypedConstant

表示用作自定义属性的参数的常量值。

TypeInfo
VersionStamp

VersionStamp 应仅用于比较同一 API 返回的版本。

WorkspaceEventOptions

接口

名称 说明
IAliasSymbol

表示使用别名(在 Visual Basic 中导入别名)。

IAnalyzerAssemblyLoader

处理加载分析器程序集及其依赖项。

LoadFromPath(String)加载分析器程序集之前,必须先通过调用 AddDependencyLocation(String)来指定其所有依赖项的位置和位置。

IArrayTypeSymbol

表示数组。

IAssemblySymbol

表示由一个或多个模块组成的 .NET 程序集。

ICompilationUnitSyntax

接口由作为根“CompilationUnit” SyntaxTree的任何节点实现。 即,由GetRoot(CancellationToken)其中HasCompilationUnitRoottrue返回的任何节点都将实现此接口。

此接口提供了一种常见方法,用于轻松查找给定的根SyntaxTree目录,以及处理存储在任何其他SyntaxToken不拥有的所有最终琐事SourceText所需的特殊EndOfFileTokenSyntaxNode方法。

IDiscardSymbol

表示已丢弃值的符号,例如 GetSymbolInfo 的结果中的符号,表示 _ in M(out _)(x, _) = e.

IDynamicTypeSymbol

表示 C# 中的“dynamic”类型。

IErrorTypeSymbol

当编译器无法确定因错误而返回的符号对象时,将使用 IErrorTypeSymbol。 例如,如果字段声明为“Goo x;”,并且找不到类型“Goo”,则会在询问字段“x”类型时返回 IErrorTypeSymbol。

IEventSymbol

表示事件。

IFieldSymbol

表示类、结构或枚举中的字段。

IFunctionPointerTypeSymbol

表示函数指针类型,例如“delegate*<void>”。

IImportScope

表示导入到源文件中特定位置的符号集。 每个导入都具有对导入指令声明的位置的引用。 IAliasSymbol对于导入,可以使用或LocationsDeclaringSyntaxReferences本身IAliasSymbol找到位置。 对于ImportsXmlNamespaces位置,可通过或DeclaringSyntaxReference分别找到DeclaringSyntaxReference位置。

IIncrementalGenerator

实现增量生成器所需的基接口

ILabelSymbol

表示方法正文中的标签

ILocalSymbol

表示方法正文中的局部变量。

IMethodSymbol

表示方法或类似方法的符号(包括构造函数、析构函数、运算符或属性/事件访问器)。

IModuleSymbol

表示程序集中的模块。 每个程序集都包含一个或多个模块。

INamedTypeSymbol

表示数组、指针、类型参数以外的类型。

INamespaceOrTypeSymbol

表示命名空间或类型。

INamespaceSymbol

表示命名空间。

IOperation

表示 C# 和 VB 语句和表达式的抽象语义的根类型。

IParameterSymbol

表示方法或属性的参数。

IPointerTypeSymbol

表示指针类型,例如“int *”。 指针类型仅在不安全的代码中使用。

IPreprocessingSymbol

表示预处理条件编译符号。

IPropertySymbol

表示属性或索引器。

IRangeVariableSymbol

表示查询表达式中的范围变量。

ISkippedTokensTriviaSyntax

表示包含跳过令牌的结构化琐事。 这是由 SkippedTokensTriviaSyntaxSkippedTokensTriviaSyntax实现的。

ISourceAssemblySymbol

表示编译器公开的源程序集符号。

ISourceGenerator

实现源生成器所需的基接口

IStructuredTriviaSyntax

表示结构化琐碎树的根节点(例如预处理器指令或文档注释)。 在此根节点中,可以遍历到包含它的外部树中的包含琐事的备份。

ISupportedChangesService

可以从中获取 Services,使用 GetService<TWorkspaceService>()

ISymbol

表示编译器公开的符号(命名空间、类、方法、参数等)。

ISyntaxContextReceiver

在编译中接收每个 SyntaxNode 通知以及
SemanticModel 可以在生成运行之前查询以获取更多信息。

ISyntaxReceiver

在生成运行之前接收编译中每个 SyntaxNode 项的通知

ITypeParameterSymbol

表示泛型类型或泛型方法中的类型参数。

ITypeSymbol

表示类型。

枚举

名称 说明
Accessibility

常见辅助功能组合的枚举。

ApplyChangesKind
AssemblyIdentityComparer.ComparisonResult

一组可能的比较结果 AssemblyIdentity

AssemblyIdentityParts
CandidateReason

指示在 SemanticInfo 中未将候选符号(或候选项集)符号视为正确的原因。 较高的值优先于较低的值,因此,例如,如果有一个具有给定名称的符号不可访问,而其他具有错误的仲裁,则只会在 SemanticInfo 中报告不可访问的符号。

DiagnosticSeverity

描述诊断的严重性。

DocumentationMode

指定不同的文档注释处理模式。

GeneratedKind
IncrementalGeneratorOutputKind

表示各种输出类型的值 IIncrementalGenerator

IncrementalStepRunReason

给定执行的增量源生成器步骤的输出的状态。

LineVisibility

线条可见性的状态。

LocationKind

指定位置类型(源与元数据)。

MetadataImageKind

PE 文件映像包含的元数据类型。

MetadataImportOptions

指定要从元数据导入的符号。

MethodKind

可能的方法符号类型的枚举。

NamespaceKind

描述命名空间区的类型。

NullableAnnotation

表示可分配给用作左值表达式的值的可为 null 性。

NullableContext

表示文件中特定点的可为 null 分析的状态。 位 1 和 2 对应于是否启用可为 null 的功能。 位 3 和 4 对应于上下文是否继承自全局上下文。

NullableContextOptions

表示此编译中可为 null 分析的默认状态。

NullableFlowState

表示编译器对表达式是否为 null 的分析

OperationKind

所有类型的操作,包括语句和表达式。

OptimizationLevel

确定生成的代码的优化级别。

OutputKind

指定编译器生成的输出程序集类型。

Platform
PreservationMode

保留值的模式。

RefKind

表示引用的类型。

ReportDiagnostic

介绍如何报告警告诊断。

RuntimeCapability

指定编译面向的公共语言运行时可能支持或可能不支持的功能。

SarifVersion

指定要生成的 SARIF 日志文件的版本。

ScopedKind

范围修饰符类型的枚举。

SemanticModelOptions
SourceCodeKind

指定 C# 或 VB 源代码类型。

SpecialType

指定特殊运行时类型的 ID。

SpeculativeBindingOption

描述要在其中一种 SemanticModel 推理绑定方法中执行的绑定类型。

SymbolDisplayDelegateStyle

指定如何显示委托(仅显示具有签名的名称或名称)。

SymbolDisplayExtensionMethodStyle

指定如何显示扩展方法。

SymbolDisplayGenericsOptions

指定在符号说明中显示泛型的方式的选项。

SymbolDisplayGlobalNamespaceStyle

指定如何在符号说明中显示全局命名空间的选项。

SymbolDisplayKindOptions

指定显示符号时应包含哪种类型的关键字。

SymbolDisplayLocalOptions

指定在符号说明中显示局部变量的方式的选项。

SymbolDisplayMemberOptions

指定如何在符号说明中显示成员的选项。

SymbolDisplayMiscellaneousOptions

指定有关符号说明格式的杂项选项。

SymbolDisplayParameterOptions

指定参数在(成员、属性/索引器或委托)符号的说明中如何显示。

SymbolDisplayPartKind

指定分类文本(SymbolDisplayPart)的种类。

SymbolDisplayPropertyStyle

指定如何在符号说明中显示属性的选项。

SymbolDisplayTypeQualificationStyle

指定符号说明中使用多少限定。

SymbolFilter

指示将包含哪些类型的声明符号

SymbolKind

指定可能的符号类型。

SyntaxRemoveOptions
SyntaxWalkerDepth

应进入的 SyntaxWalker 语法。

TextDocumentKind

指示类型 TextDocument

TypedConstantKind

表示 TypedConstant 的类型。

TypeKind

可能的类型符号类型的枚举。

TypeParameterKind

表示不同类型的参数。

VarianceKind

一个枚举,声明泛型类型参数支持的方差类型。

WorkspaceChangeKind
WorkspaceDiagnosticKind

委托

名称 说明
SyntaxContextReceiverCreator

允许生成器提供实例 ISyntaxContextReceiver

SyntaxReceiverCreator

允许生成器提供实例 ISyntaxReceiver