Share via


Compilation 類別

定義

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

public ref class Compilation abstract
public abstract class Compilation
type Compilation = class
Public MustInherit Class Compilation
繼承
Compilation
衍生

欄位

_features

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

屬性

Assembly

IAssemblySymbol 表示正在建立的元件。

AssemblyName

簡單元件名稱,如果未指定則為 null。

CommonAssembly

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonDynamicType

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonGlobalNamespace

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonObjectType

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonOptions

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonScriptClass

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonScriptGlobalsType

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonSourceModule

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonSyntaxTrees

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

DirectiveReferences

這個編譯的原始程式碼中,透過 #r 指示詞指定的唯一元數據參考。

DynamicType

此編譯中類型 'dynamic' 的 TypeSymbol。

ExternalReferences

傳遞至編譯建構函式的元數據參考。

GlobalNamespace

根命名空間,其中包含原始碼或參考元數據中定義的所有命名空間和類型,並合併成單一命名空間階層。

IsCaseSensitive

如果這是區分大小寫的編譯,則傳回 true,否則傳回 false。 區分大小寫會影響編譯功能,例如名稱查閱,以及選擇在虛擬方法和覆寫) 之間有多個不同選擇時要發出的名稱 (。

Language

取得來源語言 (“C#” 或 “Visual Basic”) 。

ObjectType

.NET System.Object 類型的 INamedTypeSymbol,如果此編譯中沒有 COR 連結庫,可能會有 TypeKind 錯誤。

Options

取得用來建立編譯的選項。

ReferencedAssemblyNames

此編譯直接參考之所有元件的元件識別。

References

所有元數據參考 -- 傳遞至編譯建構函式的參考,以及透過 #r 指示詞指定的參考。

ScriptClass

表示隱含腳本類別的符號。 如果類別未在編譯中定義,則為 Null。

ScriptCompilationInfo

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

SourceModule

IModuleSymbol藉由編譯所有原始程式碼,取得所建立模組的 。

SyntaxTrees

取得 (從原始程式碼剖析的語法樹狀結構,) 使用此編譯來剖析。

方法

AddReferences(IEnumerable<MetadataReference>)

使用其他元數據參考建立新的編譯。

AddReferences(MetadataReference[])

使用其他元數據參考建立新的編譯。

AddSyntaxTrees(IEnumerable<SyntaxTree>)

使用其他語法樹狀架構建立新的編譯。

AddSyntaxTrees(SyntaxTree[])

使用其他語法樹狀架構建立新的編譯。

AppendDefaultVersionResource(Stream)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CheckTupleElementLocations(Int32, ImmutableArray<Location>)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CheckTupleElementNames(Int32, ImmutableArray<String>)

檢查是否提供任何名稱,且其數位符合預期的基數。 如果所有名稱都是 null) ,則傳回 (空陣列的專案名稱正規化版本。

CheckTupleElementNullableAnnotations(Int32, ImmutableArray<NullableAnnotation>)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

ClassifyCommonConversion(ITypeSymbol, ITypeSymbol)

根據此編譯的程式設計語言,將轉換分類為 sourcedestination

Clone()

使用不同的符號實例,建立與這個相等的新編譯。

CommonAddSyntaxTrees(IEnumerable<SyntaxTree>)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonBindScriptClass()

解析符號,表示文本容器 (腳本類別) 。 使用儲存在 中 ScriptClassName 之容器類別的完整名稱來尋找符號。

CommonClone()

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonContainsSyntaxTree(SyntaxTree)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonCreateAnonymousTypeSymbol(ImmutableArray<ITypeSymbol>, ImmutableArray<String>, ImmutableArray<Location>, ImmutableArray<Boolean>)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonCreateAnonymousTypeSymbol(ImmutableArray<ITypeSymbol>, ImmutableArray<String>, ImmutableArray<Location>, ImmutableArray<Boolean>, ImmutableArray<NullableAnnotation>)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonCreateArrayTypeSymbol(ITypeSymbol, Int32)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonCreateArrayTypeSymbol(ITypeSymbol, Int32, NullableAnnotation)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonCreateBuiltinOperator(String, ITypeSymbol, ITypeSymbol)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonCreateBuiltinOperator(String, ITypeSymbol, ITypeSymbol, ITypeSymbol)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonCreateErrorNamespaceSymbol(INamespaceSymbol, String)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonCreateErrorTypeSymbol(INamespaceOrTypeSymbol, String, Int32)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonCreateFunctionPointerTypeSymbol(ITypeSymbol, RefKind, ImmutableArray<ITypeSymbol>, ImmutableArray<RefKind>)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonCreateFunctionPointerTypeSymbol(ITypeSymbol, RefKind, ImmutableArray<ITypeSymbol>, ImmutableArray<RefKind>, SignatureCallingConvention, ImmutableArray<INamedTypeSymbol>)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonCreateNativeIntegerTypeSymbol(Boolean)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonCreatePointerTypeSymbol(ITypeSymbol)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonCreateTupleTypeSymbol(ImmutableArray<ITypeSymbol>, ImmutableArray<String>, ImmutableArray<Location>)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonCreateTupleTypeSymbol(ImmutableArray<ITypeSymbol>, ImmutableArray<String>, ImmutableArray<Location>, ImmutableArray<NullableAnnotation>)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonCreateTupleTypeSymbol(INamedTypeSymbol, ImmutableArray<String>, ImmutableArray<Location>)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonCreateTupleTypeSymbol(INamedTypeSymbol, ImmutableArray<String>, ImmutableArray<Location>, ImmutableArray<NullableAnnotation>)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonGetAssemblyOrModuleSymbol(MetadataReference)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonGetCompilationNamespace(INamespaceSymbol)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonGetEntryPoint(CancellationToken)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonGetSemanticModel(SyntaxTree, Boolean)

SemanticModel取得指定syntaxTree的 。 如果 Microsoft.CodeAnalysis.Compilation.SemanticModelProvider 為非 Null,則會嘗試使用 Microsoft.CodeAnalysis.SemanticModelProvider.GetSemanticModel(Microsoft.CodeAnalysis.SyntaxTree,Microsoft.CodeAnalysis.Compilation,System.Boolean) 來取得語意模型。 否則,它會使用 Microsoft.CodeAnalysis.Compilation.CreateSemanticModel(Microsoft.CodeAnalysis.SyntaxTree,System.Boolean)建立新的語意模型。

CommonGetSpecialType(SpecialType)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonGetTypeByMetadataName(String)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonRemoveAllSyntaxTrees()

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonRemoveSyntaxTrees(IEnumerable<SyntaxTree>)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonReplaceSyntaxTree(SyntaxTree, SyntaxTree)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonWithAssemblyName(String)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonWithOptions(CompilationOptions)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

CommonWithReferences(IEnumerable<MetadataReference>)

使用指定的參考建立新的編譯。

CommonWithScriptCompilationInfo(ScriptCompilationInfo)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

ContainsSymbolsWithName(Func<String,Boolean>, SymbolFilter, CancellationToken)

如果有符合指定述詞的來源宣告符號名稱,則傳回 true。

ContainsSymbolsWithName(String, SymbolFilter, CancellationToken)

如果有符合所提供名稱的來源宣告符號名稱,則傳回 true。 這可能比 ContainsSymbolsWithName(Func<String,Boolean>, SymbolFilter, CancellationToken) 述詞只是簡單的字串檢查更快。 name 視目標語言而定,區分大小寫。

ContainsSyntaxTree(SyntaxTree)

如果此編譯包含指定的樹狀結構,則傳回 true。 否則為 false。

CreateAnonymousTypeSymbol(ImmutableArray<ITypeSymbol>, ImmutableArray<String>, ImmutableArray<Boolean>, ImmutableArray<Location>)

傳回具有指定成員類型、名稱和來源位置的新匿名型別符號。 匿名類型成員預設為唯讀。 VB 支援可寫入的屬性,而且可以傳入 false 中的 memberIsReadOnly適當位置來建立。

CreateAnonymousTypeSymbol(ImmutableArray<ITypeSymbol>, ImmutableArray<String>, ImmutableArray<Boolean>, ImmutableArray<Location>, ImmutableArray<NullableAnnotation>)

傳回具有指定成員類型、名稱、來源位置和可為 Null 批注的新匿名型別符號。 匿名類型成員預設為唯讀。 VB 支援可寫入的屬性,而且可以傳入 false 中的 memberIsReadOnly適當位置來建立。

CreateArrayTypeSymbol(ITypeSymbol, Int32)

傳回新的 ArrayTypeSymbol,代表系結至此編譯中 COR 連結庫基底類型的數位類型。

CreateArrayTypeSymbol(ITypeSymbol, Int32, NullableAnnotation)

傳回新的 ArrayTypeSymbol,代表系結至此編譯中 COR 連結庫基底類型的數位類型。

CreateBuiltinOperator(String, ITypeSymbol, ITypeSymbol)

IMethodSymbol建立 ,其 MethodKindBuiltinOperator一元運算符。 內建運算子通常會針對語言 bool int.operator -(int value) 隱含支援的符號建立,即使這類符號並未明確定義給來源或元數據中的該類型也一樣。

CreateBuiltinOperator(String, ITypeSymbol, ITypeSymbol, ITypeSymbol)

建立 IMethodSymbol ,其 MethodKindBuiltinOperator 二進位運算符。 內建運算子通常會針對語言 bool int.operator ==(int v1, int v2) 隱含支援的符號建立,即使這類符號並未明確定義給來源或元數據中的該類型也一樣。

CreateDefaultWin32Resources(Boolean, Boolean, Stream, Stream)

建立填入預設 win32 資源的數據流。

CreateErrorNamespaceSymbol(INamespaceSymbol, String)

傳回新的 INamespaceSymbol,代表指定名稱 (遺漏) 命名空間的錯誤。

CreateErrorTypeSymbol(INamespaceOrTypeSymbol, String, Int32)

傳回新的 INamedTypeSymbol,代表指定之容器中具有指定名稱和 arity 的錯誤類型。

CreateFunctionPointerTypeSymbol(ITypeSymbol, RefKind, ImmutableArray<ITypeSymbol>, ImmutableArray<RefKind>)

傳回新的 IFunctionPointerTypeSymbol,代表系結至此編譯中類型的函式指標類型。

CreateFunctionPointerTypeSymbol(ITypeSymbol, RefKind, ImmutableArray<ITypeSymbol>, ImmutableArray<RefKind>, SignatureCallingConvention, ImmutableArray<INamedTypeSymbol>)

傳回新的 IFunctionPointerTypeSymbol,代表系結至此編譯中類型的函式指標類型。

CreateNativeIntegerTypeSymbol(Boolean)

傳回代表原生整數的新 INamedTypeSymbol。

CreatePointerTypeSymbol(ITypeSymbol)

傳回新的 IPointerTypeSymbol,代表系結至此編譯中類型的指標類型。

CreateTupleTypeSymbol(ImmutableArray<ITypeSymbol>, ImmutableArray<String>, ImmutableArray<Location>)

傳回具有指定項目類型、名稱和位置的新 INamedTypeSymbol。

CreateTupleTypeSymbol(ImmutableArray<ITypeSymbol>, ImmutableArray<String>, ImmutableArray<Location>, ImmutableArray<NullableAnnotation>)

傳回具有指定專案型別的新 INamedTypeSymbol,並 (選擇性) 元素名稱、位置和可為 Null 的註釋。

CreateTupleTypeSymbol(INamedTypeSymbol, ImmutableArray<String>, ImmutableArray<Location>)

傳回具有指定基礎類型和項目名稱和位置的新 INamedTypeSymbol。 基礎類型必須相容 Tuple。

CreateTupleTypeSymbol(INamedTypeSymbol, ImmutableArray<String>, ImmutableArray<Location>, ImmutableArray<NullableAnnotation>)

傳回具有指定基礎型別的新 INamedTypeSymbol,並 (選擇性) 元素名稱、位置和可為 Null 的批注。 基礎類型必須相容 Tuple。

Emit(Stream, Stream, Stream, Stream, IEnumerable<ResourceDescription>, EmitOptions, CancellationToken)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

Emit(Stream, Stream, Stream, Stream, IEnumerable<ResourceDescription>, EmitOptions, IMethodSymbol, CancellationToken)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

Emit(Stream, Stream, Stream, Stream, IEnumerable<ResourceDescription>, EmitOptions, IMethodSymbol, Stream, IEnumerable<EmbeddedText>, CancellationToken)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

Emit(Stream, Stream, Stream, Stream, IEnumerable<ResourceDescription>, EmitOptions, IMethodSymbol, Stream, IEnumerable<EmbeddedText>, Stream, CancellationToken)

將編譯原始程式碼的 IL 發出至指定的數據流。

EmitDifference(EmitBaseline, IEnumerable<SemanticEdit>, Func<ISymbol,Boolean>, Stream, Stream, Stream, CancellationToken)

針對 [編輯後繼續] 發出編譯和上一代之間的差異。 差異會以新增和變更的符號表示,並以元數據、IL 和 PDB 差異的形式發出。 目前編譯的表示法會以 EmitBaseline 的形式傳回,以供後續的 Edit 和 Continue 使用。

EmitDifference(EmitBaseline, IEnumerable<SemanticEdit>, Func<ISymbol, Boolean>, Stream, Stream, Stream, ICollection<MethodDefinitionHandle>, CancellationToken)
已淘汰.

針對 [編輯後繼續] 發出編譯和上一代之間的差異。 差異會以新增和變更的符號表示,並以元數據、IL 和 PDB 差異的形式發出。 目前編譯的表示法會以 EmitBaseline 的形式傳回,以供後續的 Edit 和 Continue 使用。

EmitDifference(EmitBaseline, IEnumerable<SemanticEdit>, Stream, Stream, Stream, ICollection<MethodDefinitionHandle>, CancellationToken)
已淘汰.

針對 [編輯後繼續] 發出編譯和上一代之間的差異。 差異會以新增和變更的符號表示,並以元數據、IL 和 PDB 差異的形式發出。 目前編譯的表示法會以 EmitBaseline 的形式傳回,以供後續的 Edit 和 Continue 使用。

GetAssemblyOrModuleSymbol(MetadataReference)

取得 建立此編譯之元資料參考的 IAssemblySymbolIModuleSymbol

GetCompilationNamespace(INamespaceSymbol)

取得指定模組或元件命名空間的對應編譯命名空間。

GetDeclarationDiagnostics(CancellationToken)

取得符號宣告期間產生的診斷。

GetDiagnostics(CancellationToken)

取得編譯的所有診斷,包括語法、宣告和系結。 不包含在發出期間可能會產生的任何診斷,請參閱 EmitResult

GetEntryPoint(CancellationToken)

傳回Main方法,如果它是可執行 (,而不是腳本) ,則傳回做為元件的進入點。

GetMetadataReference(IAssemblySymbol)

MetadataReference取得對應至元件符號的 。

GetMethodBodyDiagnostics(CancellationToken)

取得在分析方法主體和欄位初始化表達式期間產生的診斷。

GetParseDiagnostics(CancellationToken)

取得剖析階段期間產生的診斷。

GetRequiredLanguageVersion(Diagnostic)

如果找到任何語言版本,則會傳回 在 中找到 Diagnostic的必要語言版本。 如果找不到任何值,則傳回 null。

GetSemanticModel(SyntaxTree, Boolean)

取得指定語法樹狀結構的新 SemanticModel

GetSpecialType(SpecialType)

從此編譯所參考的 Cor Library 取得預先定義類型的符號。

GetSymbolsWithName(Func<String,Boolean>, SymbolFilter, CancellationToken)

傳回名稱符合指定述詞的來源宣告符號。

GetSymbolsWithName(String, SymbolFilter, CancellationToken)

傳回名稱符合所提供名稱的來源宣告符號。 這可能比 GetSymbolsWithName(Func<String,Boolean>, SymbolFilter, CancellationToken) 述詞只是簡單的字串檢查更快。 name 視目標語言而定,區分大小寫。

GetTypeByMetadataName(String)

取得編譯元件內的型別,以及除了只能透過extern別名) 使用其標準 CLR 元數據名稱以外的所有參考 (元件以外的所有參考元件。 此查閱會遵循下列順序:

  1. 如果在編譯的元件中找到類型,則會傳回該類型。
  2. 接下來, (定義 System.Object 且沒有元件參考的連結庫,) 搜尋核心連結庫。 如果找到該類型,則會傳回該類型。
  3. 最後,會搜尋所有剩餘參考的非外部元件。 如果找到一個且只有一個符合所提供元數據名稱的類型,則會傳回該單一類型。 此檢查會忽略輔助功能。
GetTypesByMetadataName(String)

取得具有編譯元件的所有型別,以及具有指定標準 CLR 元數據名稱的所有參考元件。 搜尋相符的類型名稱時,會忽略目前元件的輔助功能。

GetUnreferencedAssemblyIdentities(Diagnostic)

Diagnostic指定未參考AssemblyIdentity的報告,傳回未參考的實際AssemblyIdentity實例。

GetUsedAssemblyReferences(CancellationToken)

此編譯視為使用的唯一元數據元件參考。 例如,如果在此編譯內的原始程式碼中參考在參考元件中宣告的類型,則會將參考視為使用。 等。傳回的集合是 API 所 References 傳回之參考的子集。 如果編譯包含錯誤,則結果為未定義。

匯入的命名空間對此 API 結果的影響取決於是否停用編譯未使用的匯入報告。 如果 DocumentationMode 設定為 None,則會停用未使用的匯入報告。

停用未使用的匯入報告時,所有包含屬於匯入命名空間類型之參考元件都會包含在結果中。 亦即,已考慮使用。

啟用未使用的匯入報告時,匯入的命名空間不會影響此 API 的結果。 因此,移除不在結果中的元件參考可能會造成錯誤“CS0246:找不到類型或命名空間名稱, (您在未使用的命名空間匯入上遺漏 using 指示詞或元件參考?) ”。 不過,該匯入會由編譯程式回報為未用於叫用此 API 的編譯。 若要避免錯誤,建議您同時移除未使用的元件參考和未使用的匯入。

HasImplicitConversion(ITypeSymbol, ITypeSymbol)

如果有隱含 (C# ) 或擴展 (VB) 從 轉換為 fromTypetoType,則傳回 true。 如果 或 toTypefromType null,則傳回 false,如果不存在這類轉換,則傳回 false。

IsSymbolAccessibleWithin(ISymbol, ISymbol, ITypeSymbol)

檢查 是否 symbol 可從中 within存取。 類型的 throughType 選擇性限定符可用來解析實例成員的受保護存取。 所有符號都必須來自此編譯,或此編譯所參考 (References) 的某些元件。 within 必須是 INamedTypeSymbolIAssemblySymbol

RemoveAllReferences()

建立新的編譯,而不參考任何元數據。

RemoveAllSyntaxTrees()

建立新的編譯,而不需任何語法樹狀結構。 保留元數據資訊,以便與稍後新增的樹狀結構搭配使用。

RemoveReferences(IEnumerable<MetadataReference>)

建立新的編譯,而不使用指定的元數據參考。

RemoveReferences(MetadataReference[])

建立新的編譯,而不使用指定的元數據參考。

RemoveSyntaxTrees(IEnumerable<SyntaxTree>)

在沒有指定的語法樹狀架構的情況下,建立新的編譯。 保留元數據資訊,以便與稍後新增的樹狀結構搭配使用。

RemoveSyntaxTrees(SyntaxTree[])

在沒有指定的語法樹狀架構的情況下,建立新的編譯。 保留元數據資訊,以便與稍後新增的樹狀結構搭配使用。

ReplaceReference(MetadataReference, MetadataReference)

使用以新的元數據參考取代的舊元數據參考,建立新的編譯。

ReplaceSyntaxTree(SyntaxTree, SyntaxTree)

使用以新語法樹狀結構取代的舊語法樹狀結構,建立新的編譯。 重複使用舊編譯物件的元數據。

SupportsRuntimeCapability(RuntimeCapability)

判斷此 Compilation 目標為的運行時間是否支援特定功能。

SyntaxTreeCommonFeatures(IEnumerable<SyntaxTree>)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

ToMetadataReference(ImmutableArray<String>, Boolean)

建立此編譯的元數據參考。

WithAssemblyName(String)

使用指定的元件名稱建立編譯。

WithOptions(CompilationOptions)

使用指定的編譯選項建立新的編譯。

WithReferences(IEnumerable<MetadataReference>)

使用指定的參考建立新的編譯。

WithReferences(MetadataReference[])

使用指定的參考建立新的編譯。

WithScriptCompilationInfo(ScriptCompilationInfo)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

擴充方法

ClassifyConversion(Compilation, ITypeSymbol, ITypeSymbol)

編譯對像是編譯程式單一調用的不可變表示法。 雖然不可變,但編譯也是隨選的,而且會視需要實現和快取數據。 編譯可以使用小型差異的應用程式,從現有的編譯產生新的編譯。 在許多情況下,相較於從頭建立新的編譯更有效率,因為新的編譯可以重複使用舊編譯的資訊。

WithAnalyzers(Compilation, ImmutableArray<DiagnosticAnalyzer>, AnalyzerOptions)

傳回具有附加診斷分析器的新編譯。

WithAnalyzers(Compilation, ImmutableArray<DiagnosticAnalyzer>, AnalyzerOptions, CancellationToken)
已淘汰.

傳回具有附加診斷分析器的新編譯。

WithAnalyzers(Compilation, ImmutableArray<DiagnosticAnalyzer>, CompilationWithAnalyzersOptions)

傳回具有附加診斷分析器的新編譯。

Emit(Compilation, String, String, String, String, IEnumerable<ResourceDescription>, CancellationToken)

發出 IL 以將編譯傳送至指定的數據流。

AliasImports(Compilation)

取得編譯 AliasImports 屬性。

ClassifyConversion(Compilation, ITypeSymbol, ITypeSymbol)

判斷指定型別之間有何種轉換。

GetSpecialType(Compilation, SpecialType)

取得目前編譯中的特殊類型符號。

MemberImports(Compilation)

取得編譯 MemberImports 屬性。

RootNamespace(Compilation)

取得編譯 RootNamespace 屬性。

適用於