共用方式為


CSharpCompilation 類別

定義

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

public ref class CSharpCompilation sealed : Microsoft::CodeAnalysis::Compilation
public sealed class CSharpCompilation : Microsoft.CodeAnalysis.Compilation
type CSharpCompilation = class
    inherit Compilation
Public NotInheritable Class CSharpCompilation
Inherits Compilation
繼承
CSharpCompilation

欄位

_features

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

(繼承來源 Compilation)

屬性

Assembly

IAssemblySymbol 表示要建立的元件。

(繼承來源 Compilation)
AssemblyName

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

(繼承來源 Compilation)
CommonAssembly

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

(繼承來源 Compilation)
CommonDynamicType

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

(繼承來源 Compilation)
CommonGlobalNamespace

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

(繼承來源 Compilation)
CommonObjectType

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

(繼承來源 Compilation)
CommonOptions

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

(繼承來源 Compilation)
CommonScriptClass

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

(繼承來源 Compilation)
CommonScriptGlobalsType

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

(繼承來源 Compilation)
CommonSourceModule

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

(繼承來源 Compilation)
CommonSyntaxTrees

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

(繼承來源 Compilation)
DirectiveReferences

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

DynamicType

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

(繼承來源 Compilation)
ExternalReferences

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

(繼承來源 Compilation)
GlobalNamespace

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

(繼承來源 Compilation)
IsCaseSensitive

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

Language

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

LanguageVersion

用來剖析此編譯語法樹狀結構的語言版本。

ObjectType

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

(繼承來源 Compilation)
Options

編譯使用 的選項。

ReferencedAssemblyNames

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

References

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

(繼承來源 Compilation)
ScriptClass

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

(繼承來源 Compilation)
ScriptCompilationInfo

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

SourceModule

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

(繼承來源 Compilation)
SyntaxTrees

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

方法

AddReferences(IEnumerable<MetadataReference>)

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

AddReferences(MetadataReference[])

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

AddSyntaxTrees(IEnumerable<SyntaxTree>)

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

AddSyntaxTrees(SyntaxTree[])

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

AppendDefaultVersionResource(Stream)

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

(繼承來源 Compilation)
ClassifyCommonConversion(ITypeSymbol, ITypeSymbol)

根據這個編譯的程式設計語言,將轉換從 sourcedestination 分類為 。

ClassifyConversion(ITypeSymbol, ITypeSymbol)

轉換從 source 類別為 destination

Clone()

使用不同的符號實例建立此編譯的複本。

CommonAddSyntaxTrees(IEnumerable<SyntaxTree>)

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

(繼承來源 Compilation)
CommonBindScriptClass()

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

(繼承來源 Compilation)
CommonClone()

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

(繼承來源 Compilation)
CommonContainsSyntaxTree(SyntaxTree)

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

(繼承來源 Compilation)
CommonCreateAnonymousTypeSymbol(ImmutableArray<ITypeSymbol>, ImmutableArray<String>, ImmutableArray<Location>, ImmutableArray<Boolean>)

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

(繼承來源 Compilation)
CommonCreateAnonymousTypeSymbol(ImmutableArray<ITypeSymbol>, ImmutableArray<String>, ImmutableArray<Location>, ImmutableArray<Boolean>, ImmutableArray<NullableAnnotation>)

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

(繼承來源 Compilation)
CommonCreateArrayTypeSymbol(ITypeSymbol, Int32)

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

(繼承來源 Compilation)
CommonCreateArrayTypeSymbol(ITypeSymbol, Int32, NullableAnnotation)

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

(繼承來源 Compilation)
CommonCreateBuiltinOperator(String, ITypeSymbol, ITypeSymbol)

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

(繼承來源 Compilation)
CommonCreateBuiltinOperator(String, ITypeSymbol, ITypeSymbol, ITypeSymbol)

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

(繼承來源 Compilation)
CommonCreateErrorNamespaceSymbol(INamespaceSymbol, String)

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

(繼承來源 Compilation)
CommonCreateErrorTypeSymbol(INamespaceOrTypeSymbol, String, Int32)

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

(繼承來源 Compilation)
CommonCreateFunctionPointerTypeSymbol(ITypeSymbol, RefKind, ImmutableArray<ITypeSymbol>, ImmutableArray<RefKind>)

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

(繼承來源 Compilation)
CommonCreateFunctionPointerTypeSymbol(ITypeSymbol, RefKind, ImmutableArray<ITypeSymbol>, ImmutableArray<RefKind>, SignatureCallingConvention, ImmutableArray<INamedTypeSymbol>)

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

(繼承來源 Compilation)
CommonCreateNativeIntegerTypeSymbol(Boolean)

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

(繼承來源 Compilation)
CommonCreatePointerTypeSymbol(ITypeSymbol)

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

(繼承來源 Compilation)
CommonCreateTupleTypeSymbol(ImmutableArray<ITypeSymbol>, ImmutableArray<String>, ImmutableArray<Location>)

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

(繼承來源 Compilation)
CommonCreateTupleTypeSymbol(ImmutableArray<ITypeSymbol>, ImmutableArray<String>, ImmutableArray<Location>, ImmutableArray<NullableAnnotation>)

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

(繼承來源 Compilation)
CommonCreateTupleTypeSymbol(INamedTypeSymbol, ImmutableArray<String>, ImmutableArray<Location>)

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

(繼承來源 Compilation)
CommonCreateTupleTypeSymbol(INamedTypeSymbol, ImmutableArray<String>, ImmutableArray<Location>, ImmutableArray<NullableAnnotation>)

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

(繼承來源 Compilation)
CommonGetAssemblyOrModuleSymbol(MetadataReference)

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

(繼承來源 Compilation)
CommonGetCompilationNamespace(INamespaceSymbol)

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

(繼承來源 Compilation)
CommonGetEntryPoint(CancellationToken)

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

(繼承來源 Compilation)
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)建立新的語意模型。

(繼承來源 Compilation)
CommonGetSpecialType(SpecialType)

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

(繼承來源 Compilation)
CommonGetTypeByMetadataName(String)

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

(繼承來源 Compilation)
CommonRemoveAllSyntaxTrees()

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

(繼承來源 Compilation)
CommonRemoveSyntaxTrees(IEnumerable<SyntaxTree>)

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

(繼承來源 Compilation)
CommonReplaceSyntaxTree(SyntaxTree, SyntaxTree)

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

(繼承來源 Compilation)
CommonWithAssemblyName(String)

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

(繼承來源 Compilation)
CommonWithOptions(CompilationOptions)

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

(繼承來源 Compilation)
CommonWithReferences(IEnumerable<MetadataReference>)

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

(繼承來源 Compilation)
CommonWithScriptCompilationInfo(ScriptCompilationInfo)

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

(繼承來源 Compilation)
ContainsSymbolsWithName(Func<String,Boolean>, SymbolFilter, CancellationToken)

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

ContainsSymbolsWithName(String, SymbolFilter, CancellationToken)

如果有符合所提供名稱的來源宣告符號名稱,則傳回 true。 這比 ContainsSymbolsWithName(Func<String,Boolean>, SymbolFilter, CancellationToken) 述詞只是簡單的字串檢查還要快。

ContainsSyntaxTree(SyntaxTree)

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

Create(String, IEnumerable<SyntaxTree>, IEnumerable<MetadataReference>, CSharpCompilationOptions)

從頭開始建立新的編譯。 傳回之物件上的 AddSyntaxTrees 或 AddReferences 之類的方法,將允許繼續以累加方式建置編譯。

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

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

(繼承來源 Compilation)
CreateAnonymousTypeSymbol(ImmutableArray<ITypeSymbol>, ImmutableArray<String>, ImmutableArray<Boolean>, ImmutableArray<Location>, ImmutableArray<NullableAnnotation>)

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

(繼承來源 Compilation)
CreateArrayTypeSymbol(ITypeSymbol, Int32)

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

(繼承來源 Compilation)
CreateArrayTypeSymbol(ITypeSymbol, Int32, NullableAnnotation)

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

(繼承來源 Compilation)
CreateBuiltinOperator(String, ITypeSymbol, ITypeSymbol)

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

(繼承來源 Compilation)
CreateBuiltinOperator(String, ITypeSymbol, ITypeSymbol, ITypeSymbol)

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

(繼承來源 Compilation)
CreateDefaultWin32Resources(Boolean, Boolean, Stream, Stream)

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

(繼承來源 Compilation)
CreateErrorNamespaceSymbol(INamespaceSymbol, String)

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

(繼承來源 Compilation)
CreateErrorTypeSymbol(INamespaceOrTypeSymbol, String, Int32)

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

(繼承來源 Compilation)
CreateFunctionPointerTypeSymbol(ITypeSymbol, RefKind, ImmutableArray<ITypeSymbol>, ImmutableArray<RefKind>)

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

(繼承來源 Compilation)
CreateFunctionPointerTypeSymbol(ITypeSymbol, RefKind, ImmutableArray<ITypeSymbol>, ImmutableArray<RefKind>, SignatureCallingConvention, ImmutableArray<INamedTypeSymbol>)

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

(繼承來源 Compilation)
CreateNativeIntegerTypeSymbol(Boolean)

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

(繼承來源 Compilation)
CreatePointerTypeSymbol(ITypeSymbol)

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

(繼承來源 Compilation)
CreateScriptCompilation(String, SyntaxTree, IEnumerable<MetadataReference>, CSharpCompilationOptions, CSharpCompilation, Type, Type)

建立可用於腳本的新編譯。

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

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

(繼承來源 Compilation)
CreateTupleTypeSymbol(ImmutableArray<ITypeSymbol>, ImmutableArray<String>, ImmutableArray<Location>, ImmutableArray<NullableAnnotation>)

傳回具有指定項目類型和 (選擇性) 項目名稱、位置和可為 Null 批注的新 INamedTypeSymbol。

(繼承來源 Compilation)
CreateTupleTypeSymbol(INamedTypeSymbol, ImmutableArray<String>, ImmutableArray<Location>)

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

(繼承來源 Compilation)
CreateTupleTypeSymbol(INamedTypeSymbol, ImmutableArray<String>, ImmutableArray<Location>, ImmutableArray<NullableAnnotation>)

傳回具有指定基礎類型的新 INamedTypeSymbol,並 (選擇性) 項目名稱、位置和可為 Null 的註釋。 基礎類型必須與 Tuple 相容。

(繼承來源 Compilation)
Emit(Stream, Stream, Stream, Stream, IEnumerable<ResourceDescription>, EmitOptions, CancellationToken)

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

(繼承來源 Compilation)
Emit(Stream, Stream, Stream, Stream, IEnumerable<ResourceDescription>, EmitOptions, IMethodSymbol, CancellationToken)

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

(繼承來源 Compilation)
Emit(Stream, Stream, Stream, Stream, IEnumerable<ResourceDescription>, EmitOptions, IMethodSymbol, Stream, IEnumerable<EmbeddedText>, CancellationToken)

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

(繼承來源 Compilation)
Emit(Stream, Stream, Stream, Stream, IEnumerable<ResourceDescription>, EmitOptions, IMethodSymbol, Stream, IEnumerable<EmbeddedText>, Stream, CancellationToken)

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

(繼承來源 Compilation)
EmitDifference(EmitBaseline, IEnumerable<SemanticEdit>, Func<ISymbol,Boolean>, Stream, Stream, Stream, CancellationToken)

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

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

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

(繼承來源 Compilation)
EmitDifference(EmitBaseline, IEnumerable<SemanticEdit>, Stream, Stream, Stream, ICollection<MethodDefinitionHandle>, CancellationToken)
已淘汰.

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

(繼承來源 Compilation)
GetAssemblyOrModuleSymbol(MetadataReference)

IAssemblySymbol取得用於建立這個編譯的元資料參考 的 或 IModuleSymbol

(繼承來源 Compilation)
GetCompilationNamespace(INamespaceSymbol)

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

(繼承來源 Compilation)
GetDeclarationDiagnostics(CancellationToken)

取得符號宣告標頭期間產生的診斷。 例如,存取子或方法主體沒有診斷。

GetDiagnostics(CancellationToken)

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

GetDirectiveReference(ReferenceDirectiveTriviaSyntax)

傳回指定 #r 解析為 的元數據參考。

GetEntryPoint(CancellationToken)

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

(繼承來源 Compilation)
GetMetadataReference(IAssemblySymbol)

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

GetMethodBodyDiagnostics(CancellationToken)

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

GetParseDiagnostics(CancellationToken)

取得在編譯剖析階段期間產生的診斷。 例如,宣告或存取子或方法主體沒有診斷。

GetSemanticModel(SyntaxTree, Boolean)

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

GetSpecialType(SpecialType)

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

(繼承來源 Compilation)
GetSymbolsWithName(Func<String,Boolean>, SymbolFilter, CancellationToken)

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

GetSymbolsWithName(String, SymbolFilter, CancellationToken)

傳回名稱符合所提供名稱的來源宣告符號。 這比 GetSymbolsWithName(Func<String,Boolean>, SymbolFilter, CancellationToken) 述詞只是簡單的字串檢查還要快。 name 區分大小寫。

GetTypeByMetadataName(String)

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

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

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

(繼承來源 Compilation)
GetUnreferencedAssemblyIdentities(Diagnostic)

假設報告 Diagnostic 未參考 AssemblyIdentitys,則會傳回未參考的實際 AssemblyIdentity 實例。

(繼承來源 Compilation)
GetUsedAssemblyReferences(CancellationToken)

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

GetUsedAssemblyReferences(CancellationToken)

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

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

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

啟用未使用的匯入報告時,匯入的命名空間不會影響此 API 的結果。 因此,移除結果中沒有的元件參考,可能會導致錯誤「CS0246:找不到類型或命名空間名稱 (您是否遺漏了 using 指示詞或元件參考?) 」未使用的命名空間彙入。 不過,編譯程式會將該匯入報告為未用於叫用此 API 的編譯。 為了避免發生錯誤,建議您同時移除未使用的元件參考和未使用的匯入。

(繼承來源 Compilation)
HasImplicitConversion(ITypeSymbol, ITypeSymbol)

如果有隱含 (C#) 或擴展 (VB) 轉換為 fromType ,則會傳回 toTypetrue。 如果 fromTypetoType 為 Null,或不存在這類轉換,則傳回 false。

(繼承來源 Compilation)
IsSymbolAccessibleWithin(ISymbol, ISymbol, ITypeSymbol)

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

(繼承來源 Compilation)
RemoveAllReferences()

建立不含任何元數據參考的新編譯

RemoveAllSyntaxTrees()

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

RemoveReferences(IEnumerable<MetadataReference>)

建立不含指定元數據參考的新編譯。

RemoveReferences(MetadataReference[])

建立不含指定元數據參考的新編譯。

RemoveSyntaxTrees(IEnumerable<SyntaxTree>)

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

RemoveSyntaxTrees(SyntaxTree[])

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

ReplaceReference(MetadataReference, MetadataReference)

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

ReplaceSyntaxTree(SyntaxTree, SyntaxTree)

建立不含舊樹狀結構但具有新樹狀結構的新編譯。

SupportsRuntimeCapability(RuntimeCapability)

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

(繼承來源 Compilation)
ToMetadataReference(ImmutableArray<String>, Boolean)

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

WithAssemblyName(String)

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

WithOptions(CompilationOptions)

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

(繼承來源 Compilation)
WithOptions(CSharpCompilationOptions)

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

WithReferences(IEnumerable<MetadataReference>)

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

WithReferences(MetadataReference[])

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

WithScriptCompilationInfo(CSharpScriptCompilationInfo)

傳回具有指定編譯集做為先前提交的新編譯。

WithScriptCompilationInfo(ScriptCompilationInfo)

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

(繼承來源 Compilation)

擴充方法

ClassifyConversion(Compilation, ITypeSymbol, ITypeSymbol)

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

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

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

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 屬性。

適用於