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 |
提供有关 的说明 Diagnostic |
| DiagnosticFormatter |
设置消息格式 Diagnostic 。 |
| DllImportData |
描述如何调用基础平台中的方法的信息。 |
| Document |
表示属于项目的源代码文档。 它提供对源文本、分析语法树和相应语义模型的访问。 |
| DocumentActiveContextChangedEventArgs | |
| DocumentationCommentId |
用于构造文档注释 ID 和查找与 ID 匹配的符号的 API。 |
| DocumentationProvider |
一个类,用于向编译器提供元数据成员的 XML 文档。 此类的自定义实现应从 DocumentationResolver 返回,以提供来自自定义缓存或位置的 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 |
提供有关 的编程抑制 Diagnostic 的说明 DiagnosticSuppressor。 |
| SymbolDisplayExtensions |
公开用于显示符号说明的扩展方法。 |
| SymbolDisplayFormat |
描述显示符号时应使用的格式规则。 |
| SymbolEqualityComparer |
允许比较两 ISymbol 个实例 |
| SymbolVisitor | |
| SymbolVisitor<TResult> | |
| SymbolVisitor<TArgument,TResult> | |
| SyntaxAnnotation |
SyntaxAnnotation 用于为语法元素添加附加信息的批注。 由于语法元素是不可变的,因此批注它们需要创建带有附加注释的新实例。 |
| 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 | |
| WorkspaceKind |
已知工作区类型 |
| WorkspaceRegistration | |
| XmlDocumentationProvider |
一个类,用于向编译器提供来自 XML 文档源的元数据的成员的 XML 文档。 |
| XmlFileResolver |
解析对源中指定的 XML 文件的引用。 |
| XmlReferenceResolver |
解析对源代码中指定的 XML 文档的引用。 |
结构
接口
| IAliasSymbol |
表示在 Visual Basic) 中使用别名 (导入别名。 |
| IAnalyzerAssemblyLoader |
处理加载分析器程序集及其依赖项。 在使用 加载 LoadFromPath(String)分析器程序集之前,必须先通过调用 AddDependencyLocation(String)来指定其位置和所有依赖项的位置。 |
| IArrayTypeSymbol |
表示数组。 |
| IAssemblySymbol |
表示由一个或多个模块组成的 .NET 程序集。 |
| ICompilationUnitSyntax |
接口由作为 的根“CompilationUnit”的任何 SyntaxTree节点实现。 即,其中 HasCompilationUnitRoot 此接口提供了一种常见方法,既可以轻松查找给定的任何 SyntaxNode的SyntaxTree根,也提供了处理将所有最终琐事SourceText存储在 不归任何其他 SyntaxToken拥有的 中所需的特殊EndOfFileToken方法。 |
| IDiscardSymbol |
表示已放弃值的符号,例如 GetSymbolInfo 结果中的 |
| IDynamicTypeSymbol |
表示 C# 中的“动态”类型。 |
| IErrorTypeSymbol |
当编译器由于错误而无法确定要返回的符号对象时,将使用 IErrorTypeSymbol。 例如,如果字段声明为“Goo x;”,并且找不到类型“Goo”,则当询问字段“x”的类型时,将返回 IErrorTypeSymbol。 |
| IEventSymbol |
表示一个事件。 |
| IFieldSymbol |
表示类、结构或枚举中的字段。 |
| IFunctionPointerTypeSymbol |
表示函数指针类型,例如“delegate*<void>”。 |
| IImportScope |
表示导入到源文件中特定位置的符号集。 每个导入都具有对导入指令声明位置的引用。 IAliasSymbol对于导入,可以使用 或 DeclaringSyntaxReferencesIAliasSymbol 本身找到Locations位置。 对于 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 |
可以使用 从 ServicesGetService<TWorkspaceService>()获取。 |
| ISymbol |
表示编译器公开 (命名空间、类、方法、参数等 ) 符号。 |
| ISyntaxContextReceiver |
接收编译中每个 SyntaxNode 的通知,以及 |
| ISyntaxReceiver |
在生成运行之前接收编译中每个 SyntaxNode 的通知 |
| ITypeParameterSymbol |
表示泛型类型或泛型方法中的类型参数。 |
| ITypeSymbol |
表示类型。 |
枚举
委托
| SyntaxContextReceiverCreator |
允许生成器提供 的实例 ISyntaxContextReceiver |
| SyntaxReceiverCreator |
允许生成器提供 的实例 ISyntaxReceiver |