Microsoft.CodeAnalysis 命名空間
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
類別
| 名稱 | Description |
|---|---|
| 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 |
代表行動的進展。 通常用於在長時間執行作業時更新使用者可見的介面。 |
| CommandLineArguments |
這是用來將命令列參數表示給 Microsoft.CodeAnalysis.CommonCompiler. |
| CommandLineParser | |
| CommandLineProject | |
| Compilation |
編譯物件是編譯器單一呼叫的不可變表示。 雖然編譯是不可變的,但同時也是按需進行的,並會根據需要實現並快取資料。 編譯組可透過應用小 delta 從現有編譯產生新的編譯。 在許多情況下,這比從零開始建立新的編譯更高效,因為新編譯可以重複使用舊編譯的資訊。 |
| 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),或其語言特定的超載回傳,將區域的首尾語句作為參數傳遞。 「內心」指的是那些陳述或它們之間的陳述。 「外部」則是同一方法的其他陳述。 |
| 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 |
代表在一組 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 |
A ProjectDependencyGraph 用來建模解決方案中專案間的相依關係。 |
| ProjectDiagnostic | |
| ProjectId |
一個可以用來指代不同版本相同 Project 名稱的識別碼。 |
| ProjectInfo |
一個代表建立新專案實例所需的所有參數的類別。 |
| ProjectReference | |
| ResourceDescription |
資源的表示,其內容將嵌入輸出組裝中。 |
| RuleSet |
代表一組規則,依照規則集檔案所指定的。 |
| RuleSetInclude |
代表 RuleSet 檔案中的 include 標籤。 |
| SarifVersionFacts | |
| ScriptCompilationInfo | |
| SemanticModel |
允許在編譯中詢問語意問題,針對語法節點樹。 通常,實例是透過呼叫 來 GetSemanticModel(SyntaxTree, SemanticModelOptions)得到的。 |
| SeparatedSyntaxList | |
| Solution |
代表一組專案及其原始碼文件。 |
| SolutionId |
一個可用於跨版本指稱相同解決方案的識別碼。 |
| SolutionInfo |
一個代表建立新解實例所需的所有參數的類別。 |
| SourceFileResolver |
解析原始碼中指定的原始碼檔案引用。 |
| SourceGeneratedDocument |
Document A 是由一個 ISourceGenerator. |
| SourceReferenceResolver |
解析來源文件中指定的來源文件參考。 |
| StrongNameProvider |
提供強名與符號來源組合。 |
| SuppressionDescriptor |
提供關於程式化抑制 a Diagnostic 的 DiagnosticSuppressor描述。 |
| SymbolDisplayExtensions |
揭露用於顯示符號描述的擴充方法。 |
| SymbolDisplayFormat |
說明顯示符號時應使用的格式規則。 |
| SymbolEqualityComparer |
允許比較兩個 ISymbol 實例 |
| SymbolVisitor | |
| SymbolVisitor<TResult> | |
| SymbolVisitor<TArgument,TResult> | |
| SyntaxAnnotation |
語法註解用於註解語法元素,並附上額外資訊。 由於語法元素是不可變的,註解它們需要建立帶有註解的新實例。 |
| SyntaxList | |
| SyntaxNode |
代表語法樹中的非終端節點。 這是語言無關的等價物CSharpSyntaxNodeVisualBasicSyntaxNode與。 |
| 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 文件參考。 |
結構
介面
| 名稱 | Description |
|---|---|
| IAliasSymbol |
表示 使用 alias(在 Visual Basic 中匯入別名)。 |
| IAnalyzerAssemblyLoader |
處理載入分析器組件及其相依性。 在分析器組件載入 LoadFromPath(String)之前,必須先透過呼叫 AddDependencyLocation(String)指定其位置及所有相依關係的位置。 |
| IArrayTypeSymbol |
代表一個陣列。 |
| IAssemblySymbol |
代表一個 .NET 組件,包含一個或多個模組。 |
| ICompilationUnitSyntax |
由任何節點實作的介面,該節點是 的根「編譯單元」。SyntaxTree 也就是說,任何由 GetRoot(CancellationToken) 回傳的HasCompilationUnitRoot 此介面提供了一種通用方式,既能輕鬆找到任意 的根SyntaxTree,也提供處理存放所有最終瑣事所需的特殊EndOfFileToken功能,該 在 中SourceText且不屬於其他 SyntaxToken。SyntaxNode |
| IDiscardSymbol |
一個代表被丟棄值的符號,例如在 或 中 GetSymbolInfo |
| IDynamicTypeSymbol |
代表 C# 中的「動態」型別。 |
| IErrorTypeSymbol |
當編譯器因錯誤無法判斷要回傳的符號物件時,會使用 IErrorTypeSymbol。 例如,若欄位被宣告為「Goo x;」,且找不到「Goo」型別,當詢問「x」欄位的型別時,會回傳 IErrorTypeSymbol。 |
| IEventSymbol |
代表一個事件。 |
| IFieldSymbol |
代表類別、結構或列舉中的欄位。 |
| IFunctionPointerTypeSymbol |
代表一種函式指標類型,例如「delegate*<void>」。 |
| IImportScope |
代表匯入到原始檔案特定位置的符號集合。 每個進口都會有一個指向進口指令宣告的地點參考。 對於IAliasSymbol匯入,地點可以用 或 Locations 直接找到DeclaringSyntaxReferencesIAliasSymbol。 對於 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 |
代表結構化趣聞樹的根節點(例如,預處理器指令或文件註解)。 從這個根節點,你可以遍歷回包含該 trivia 的外部樹。 |
| ISupportedChangesService |
可由 Services取得,其中 GetService<TWorkspaceService>()。 |
| ISymbol |
代表由編譯器暴露的符號(命名空間、類別、方法、參數等)。 |
| ISyntaxContextReceiver |
會收到彙編中每個 SyntaxNode 的通知,並附帶 |
| ISyntaxReceiver |
在世代執行前,會收到編譯中每個 SyntaxNode 的通知 |
| ITypeParameterSymbol |
代表一般型別或通用方法中的型別參數。 |
| ITypeSymbol |
代表一種類型。 |
列舉
委派
| 名稱 | Description |
|---|---|
| SyntaxContextReceiverCreator |
允許產生元提供 ISyntaxContextReceiver |
| SyntaxReceiverCreator |
允許產生元提供 ISyntaxReceiver |