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

提供 關於的描述 Diagnostic

DiagnosticFormatter

格式化 Diagnostic 訊息。

DllImportData

描述如何叫用基礎平臺中方法的資訊。

Document

表示屬於專案一部分的原始程式碼檔。 它可讓您存取來源文字、剖析的語法樹狀目錄和對應的語意模型。

DocumentActiveContextChangedEventArgs
DocumentationCommentId

建構檔批註標識碼的 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

可用來識別元數據實例的標識碼。 如果兩個元數據實例具有相同的標識符,則保證它們具有相同的內容。 如果兩個元數據實例有不同的標識符,則內容可能不相同。 因此,當用戶端想要共用元數據參考的數據時,標識碼就如同快取中的索引鍵一樣有用,只要它尚未變更即可。

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

DocumentISourceGenerator產生的 。

SourceReferenceResolver

解析來源中所指定源文件的參考。

StrongNameProvider

提供強名稱與簽署來源元件。

SuppressionDescriptor

提供 由的程式設計隱藏DiagnosticDiagnosticSuppressor描述。

SymbolDisplayExtensions

公開用來顯示符號描述的擴充方法。

SymbolDisplayFormat

描述顯示符號時應該使用的格式設定規則。

SymbolEqualityComparer

允許比較兩 ISymbol 個實例

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

SyntaxAnnotation 可用來標註具有其他資訊的語法元素。

由於語法元素是不可變的,因此批註需要使用附加的批注來建立它們的新實例。

SyntaxNode

表示語法樹狀結構中的非終端節點。 這是與和VisualBasicSyntaxNode無關CSharpSyntaxNode的語言。

SyntaxNodeExtensions
SyntaxReference

語法節點的參考。

SyntaxTree

源檔的剖析表示法。

SyntaxTreeOptionsProvider
SyntaxWalker

逐步解說語法樹狀結構,允許子類別在所有節點上運作、令牌和 Trivia。 逐步解說工具會執行樹狀結構的第一個深度逐步解說。

TextAndVersion

類別,表示來源文字及其版本戳記。

TextDocument
TextDocumentEventArgs
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

由建立的來源文字 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; # 或 Visual Basic 中的 或 Imports TypeOrNamespace

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

LoadTextOptions

用來載入 SourceText的選項。

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

語法節點 () 或語法標記 SyntaxToken (SyntaxNode) 的包裝函式。

SyntaxNodeOrTokenList

結構清單 SyntaxNodeOrToken

SyntaxNodeOrTokenList.Enumerator

SyntaxNodeOrToken 結構清單的列舉值。

SyntaxToken

表示語法樹狀結構中的標記。

SyntaxTokenList

表示的 SyntaxToken唯讀清單。

SyntaxTokenList.Enumerator

列舉的結構 SyntaxTokenList

SyntaxTokenList.Reversed

反向列舉。

SyntaxTokenList.Reversed.Enumerator
SyntaxTrivia

表示語法樹狀結構中的一個 Trivia。

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

介面是由 根目錄 『CompilationUnit』 的任何節點所 SyntaxTree實作。 亦即,其中 HasCompilationUnitRoottrueGetRoot(CancellationToken)回的任何節點都會實作此介面。

這個介面提供一種常見方式,讓您輕鬆找到任何 的SyntaxNode根目錄SyntaxTree,以及處理將所有最終小道儲存在SourceText其他SyntaxToken任何 不擁有之 中所需的特殊EndOfFileToken方法。

IDiscardSymbol

代表捨棄值的符號,例如 ,在 或 (x, _) = e中為 的 GetSymbolInfo _M(out _) 結果中的符號。

IDynamicTypeSymbol

表示 C# 中的 'dynamic' 類型。

IErrorTypeSymbol

當編譯程式因錯誤而無法判斷要傳回的符號物件時,會使用 IErrorTypeSymbol。 例如,如果欄位宣告為 「Goo x;」,而且找不到類型 「Goo」,則會在詢問欄位「x」 類型時傳回 IErrorTypeSymbol。

IEventSymbol

表示事件。

IFieldSymbol

表示類別、結構或列舉中的欄位。

IFunctionPointerTypeSymbol

表示函式指標類型,例如 「delegate*<void>」。。

IImportScope

表示匯入原始程序檔中特定位置的符號集。 每個匯入都有彙入指示詞所宣告位置的參考。 針對匯入IAliasSymbol,可以使用 或 DeclaringSyntaxReferencesIAliasSymbol 本身找到Locations位置。 針對 Imports 或 ,可分別透過 DeclaringSyntaxReferenceXmlNamespacesDeclaringSyntaxReference 找到位置。

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 通知,以及
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

描述如何報告警告診斷。

RuntimeCapability

指定編譯目標通用語言執行平臺可能或可能不支援的功能。

SarifVersion

指定要產生之 SARIF 記錄檔的版本。

ScopedKind

範圍修飾詞類型的列舉。

SourceCodeKind

指定 C# 或 VB 原始碼種類。

SpecialType

指定特殊運行時間類型的識別碼。

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