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 |