Microsoft.CodeAnalysis 命名空间
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
类
| 名称 | 说明 |
|---|---|
| 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 |
指定编译器已知的成员名称(例如 |
| Workspace |
工作区提供对一组活动的源代码项目和文档及其关联的语法树、编译和语义模型的访问权限。 工作区具有当前解决方案,该解决方案是项目和文档的不可变快照。 当工作区从环境中的实时交互或通过调用工作区 TryApplyChanges(Solution) 的方法进行更新时,此属性可能会随时间而变化。 |
| WorkspaceChangeEventArgs |
EventArgs描述任何类型的工作区更改。 |
| WorkspaceDiagnostic | |
| WorkspaceDiagnosticEventArgs | |
| WorkspaceEventRegistration |
表示工作区事件的注册,确保事件处理程序在释放时正确注销。 |
| WorkspaceKind |
已知工作区类型 |
| WorkspaceRegistration | |
| XmlDocumentationProvider |
用于为来自 XML 文档源的元数据的成员提供 XML 文档的类。 |
| XmlFileResolver |
解析对源中指定的 XML 文件的引用。 |
| XmlReferenceResolver |
解析对源代码中指定的 XML 文档的引用。 |
结构
接口
| 名称 | 说明 |
|---|---|
| IAliasSymbol |
表示使用别名(在 Visual Basic 中导入别名)。 |
| IAnalyzerAssemblyLoader |
处理加载分析器程序集及其依赖项。 在 LoadFromPath(String)加载分析器程序集之前,必须先通过调用 AddDependencyLocation(String)来指定其所有依赖项的位置和位置。 |
| IArrayTypeSymbol |
表示数组。 |
| IAssemblySymbol |
表示由一个或多个模块组成的 .NET 程序集。 |
| ICompilationUnitSyntax |
接口由作为根“CompilationUnit” SyntaxTree的任何节点实现。 即,由GetRoot(CancellationToken)其中HasCompilationUnitRoot 此接口提供了一种常见方法,用于轻松查找给定的根SyntaxTree目录,以及处理存储在任何其他SyntaxToken不拥有的所有最终琐事SourceText所需的特殊EndOfFileTokenSyntaxNode方法。 |
| IDiscardSymbol |
表示已丢弃值的符号,例如 GetSymbolInfo 的结果中的符号,表示 |
| IDynamicTypeSymbol |
表示 C# 中的“dynamic”类型。 |
| IErrorTypeSymbol |
当编译器无法确定因错误而返回的符号对象时,将使用 IErrorTypeSymbol。 例如,如果字段声明为“Goo x;”,并且找不到类型“Goo”,则会在询问字段“x”类型时返回 IErrorTypeSymbol。 |
| IEventSymbol |
表示事件。 |
| IFieldSymbol |
表示类、结构或枚举中的字段。 |
| IFunctionPointerTypeSymbol |
表示函数指针类型,例如“delegate*<void>”。 |
| IImportScope |
表示导入到源文件中特定位置的符号集。 每个导入都具有对导入指令声明的位置的引用。 IAliasSymbol对于导入,可以使用或LocationsDeclaringSyntaxReferences本身IAliasSymbol找到位置。 对于Imports或XmlNamespaces位置,可通过或DeclaringSyntaxReference分别找到DeclaringSyntaxReference位置。 |
| IIncrementalGenerator |
实现增量生成器所需的基接口 |
| ILabelSymbol |
表示方法正文中的标签 |
| ILocalSymbol |
表示方法正文中的局部变量。 |
| IMethodSymbol |
表示方法或类似方法的符号(包括构造函数、析构函数、运算符或属性/事件访问器)。 |
| IModuleSymbol |
表示程序集中的模块。 每个程序集都包含一个或多个模块。 |
| INamedTypeSymbol |
表示数组、指针、类型参数以外的类型。 |
| INamespaceOrTypeSymbol |
表示命名空间或类型。 |
| INamespaceSymbol |
表示命名空间。 |
| IOperation |
表示 C# 和 VB 语句和表达式的抽象语义的根类型。 |
| IParameterSymbol |
表示方法或属性的参数。 |
| IPointerTypeSymbol |
表示指针类型,例如“int *”。 指针类型仅在不安全的代码中使用。 |
| IPreprocessingSymbol |
表示预处理条件编译符号。 |
| IPropertySymbol |
表示属性或索引器。 |
| IRangeVariableSymbol |
表示查询表达式中的范围变量。 |
| ISkippedTokensTriviaSyntax |
表示包含跳过令牌的结构化琐事。 这是由 SkippedTokensTriviaSyntax 和 SkippedTokensTriviaSyntax实现的。 |
| ISourceAssemblySymbol |
表示编译器公开的源程序集符号。 |
| ISourceGenerator |
实现源生成器所需的基接口 |
| IStructuredTriviaSyntax |
表示结构化琐碎树的根节点(例如预处理器指令或文档注释)。 在此根节点中,可以遍历到包含它的外部树中的包含琐事的备份。 |
| ISupportedChangesService |
可以从中获取 Services,使用 GetService<TWorkspaceService>()。 |
| ISymbol |
表示编译器公开的符号(命名空间、类、方法、参数等)。 |
| ISyntaxContextReceiver |
在编译中接收每个 SyntaxNode 通知以及 |
| ISyntaxReceiver |
在生成运行之前接收编译中每个 SyntaxNode 项的通知 |
| ITypeParameterSymbol |
表示泛型类型或泛型方法中的类型参数。 |
| ITypeSymbol |
表示类型。 |
枚举
委托
| 名称 | 说明 |
|---|---|
| SyntaxContextReceiverCreator |
允许生成器提供实例 ISyntaxContextReceiver |
| SyntaxReceiverCreator |
允许生成器提供实例 ISyntaxReceiver |