Microsoft.CodeAnalysis 命名空间

AdditionalDocument

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

AdditionalText

表示非源代码文件。

AdhocWorkspace

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

AnalyzerConfig

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

AnalyzerConfig.Section

表示编辑器配置文件的命名节,该文件由一个名称组成,后跟一组键值对。

AnalyzerConfigDocument
AnalyzerConfigSet

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

AnnotationExtensions
AssemblyIdentity

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

AssemblyIdentityComparer

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

AssemblyMetadata

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

AttributeData
CaseInsensitiveComparison

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

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

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

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

允许在编译中询问有关语法节点树的语义问题。 通常,通过调用编译或编译上的 GetBinding 来获取实例。

Solution

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

SolutionId

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

SolutionInfo

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

SourceFileResolver

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

SourceGeneratedDocument

Document由一个 ISourceGenerator.

SourceReferenceResolver

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

StrongNameProvider

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

SuppressionDescriptor

提供有关由 a DiagnosticDiagnosticSuppressor的编程抑制的说明。

SymbolDisplayExtensions

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

SymbolDisplayFormat

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

SymbolEqualityComparer

允许比较两 ISymbol 个实例

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

SyntaxAnnotation 用于批注具有其他信息的语法元素。

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

SyntaxNode

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

SyntaxNodeExtensions
SyntaxReference

对语法节点的引用。

SyntaxTree

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

SyntaxTreeOptionsProvider
SyntaxWalker

演练语法树,允许子类在所有节点上操作、令牌和琐碎。 步行者将执行树的第一次深度步行。

TextAndVersion

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

TextDocument
TextLoader

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

UnresolvedMetadataReference

表示无法解析或尚未解析的元数据引用。

VisualBasicExtensions

添加 Visual Basic 语法扩展方法。

WellKnownDiagnosticTags
WellKnownGeneratorInputs

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

WellKnownGeneratorOutputs

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

WellKnownMemberNames

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

Workspace

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

WorkspaceChangeEventArgs

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

WorkspaceDiagnostic
WorkspaceDiagnosticEventArgs
WorkspaceKind

已知工作区类型

WorkspaceRegistration
XmlDocumentationProvider

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

XmlFileResolver

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

XmlReferenceResolver

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

结构

AnalyzerConfig.SectionNameMatcher
AnalyzerConfigOptionsResult

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

ChildSyntaxList
ChildSyntaxList.Enumerator

枚举 ChildSyntaxList 的元素。

ChildSyntaxList.Reversed
ChildSyntaxList.Reversed.Enumerator
CommandLineAnalyzerReference

介绍命令行分析器程序集规范。

CommandLineReference

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

CommandLineSourceFile

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

CompilationOutputInfo

编译生成的文件的路径。

FileLinePositionSpan

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

GeneratedSourceResult

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

GeneratedSourceText

A source text created by an ISourceGenerator

GeneratorAttributeSyntaxContext
GeneratorDriverOptions

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

GeneratorDriverTimingInfo

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

GeneratorExecutionContext

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

GeneratorInitializationContext

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

GeneratorPostInitializationContext

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

GeneratorRunResult

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

GeneratorSyntaxContext

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

GeneratorTimingInfo

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

ImportedNamespaceOrType

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

ImportedXmlNamespace

表示导入的 xml 命名空间名称。 这对应于 Imports <xmlns:prefix = "name"> Visual Basic 中。 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

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

MetadataReferenceProperties

有关元数据引用的信息。

NullabilityInfo
Optional<T>

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

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 Release Preview 6.02
SymbolDisplayPart

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

SymbolInfo
SyntaxList<TNode>.Enumerator
SyntaxList<TNode>

SyntaxNode 的列表。

SyntaxNodeOrToken

语法节点的包装器 () SyntaxNode 或语法令牌 (SyntaxToken) 。

SyntaxNodeOrTokenList

结构列表 SyntaxNodeOrToken

SyntaxNodeOrTokenList.Enumerator

语法NodeOrToken 结构列表的枚举器。

SyntaxToken

表示语法树中的标记。 这是与语言无关的Microsoft.CodeAnalysis.CSharp.SyntaxToken等效项,Microsoft.CodeAnalysis.VisualBasic.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 返回的版本。

接口

IAliasSymbol

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

IAnalyzerAssemblyLoader

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

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

IArrayTypeSymbol

表示数组。

IAssemblySymbol

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

ICompilationUnitSyntax

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

此接口提供了一种常见方法,既可以轻松找到给定的根目录SyntaxTree,又提供了一种处理特殊方法的常见方法EndOfFileToken,用于将所有最终琐事存储在其他任何未拥有SyntaxToken的琐事中SourceTextSyntaxNode

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找到位置。 对于Imports或位置,可以分别通过或DeclaringSyntaxReferenceXmlNamespaces分别找到DeclaringSyntaxReference位置。

IIncrementalGenerator

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

ILabelSymbol

表示方法正文中的标签

ILocalSymbol

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

IMethodSymbol

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

IModuleSymbol

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

INamedTypeSymbol

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

INamespaceOrTypeSymbol

表示命名空间或类型。

INamespaceSymbol

表示命名空间。

IOperation

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

IParameterSymbol

表示方法或属性的参数。

IPointerTypeSymbol

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

IPreprocessingSymbol

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

IPropertySymbol

表示属性或索引器。

IRangeVariableSymbol

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

ISkippedTokensTriviaSyntax

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

ISourceAssemblySymbol

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

ISourceGenerator

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

IStructuredTriviaSyntax

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

ISymbol

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

ISyntaxContextReceiver

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

ISyntaxReceiver

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

ITypeParameterSymbol

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

ITypeSymbol

表示类型。

枚举

Accessibility

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

ApplyChangesKind
AssemblyIdentityComparer.ComparisonResult

一组可能的比较结果 AssemblyIdentity

AssemblyIdentityParts
CandidateReason

指示在 SemanticInfo 中,候选 (或一组候选符号) 符号不正确的原因。 较高的值优先于较低的值,因此,例如,如果有一个具有给定名称的符号不可访问,其他具有错误的 arity,则只会在 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

介绍如何报告警告诊断。

SarifVersion

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

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