Поделиться через


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

TypeSymbol для типа dynamic в этой компиляции.

(Унаследовано от Compilation)
ExternalReferences

Ссылки на метаданные, передаваемые конструктору компиляции.

(Унаследовано от Compilation)
GlobalNamespace

Корневое пространство имен, содержащее все пространства имен и типы, определенные в исходном коде или в метаданных, на которые ссылается ссылка, объединены в одну иерархию пространств имен.

(Унаследовано от Compilation)
IsCaseSensitive

Объект компиляции является неизменяемым представлением одного вызова компилятора. Хотя компиляция неизменяема, она также выполняется по запросу и будет реализовывать и кэшировать данные по мере необходимости. Компиляция может создать новую компиляцию из существующей компиляции с применением небольших изменений. Во многих случаях это более эффективно, чем создание новой компиляции с нуля, так как новая компиляция может повторно использовать сведения из старой компиляции.

Language

Объект компиляции является неизменяемым представлением одного вызова компилятора. Хотя компиляция неизменяема, она также выполняется по запросу и будет реализовывать и кэшировать данные по мере необходимости. Компиляция может создать новую компиляцию из существующей компиляции с применением небольших изменений. Во многих случаях это более эффективно, чем создание новой компиляции с нуля, так как новая компиляция может повторно использовать сведения из старой компиляции.

LanguageVersion

Версия языка, которая использовалась для анализа деревьев синтаксиса этой компиляции.

ObjectType

INamedTypeSymbol для типа .NET System.Object, который может иметь типKind ошибки, если в этой компиляции нет библиотеки COR.

(Унаследовано от Compilation)
Options

Параметры, с которыми была создана компиляция.

ReferencedAssemblyNames

Объект компиляции является неизменяемым представлением одного вызова компилятора. Хотя компиляция неизменяема, она также выполняется по запросу и будет реализовывать и кэшировать данные по мере необходимости. Компиляция может создать новую компиляцию из существующей компиляции с применением небольших изменений. Во многих случаях это более эффективно, чем создание новой компиляции с нуля, так как новая компиляция может повторно использовать сведения из старой компиляции.

References

Все ссылки на метаданные — ссылки, передаваемые конструктору компиляции, а также ссылки, указанные с помощью директив #r.

(Унаследовано от Compilation)
ScriptClass

Символ, представляющий неявный класс Script. Это значение равно NULL, если класс не определен в компиляции.

(Унаследовано от Compilation)
ScriptCompilationInfo

Объект компиляции является неизменяемым представлением одного вызова компилятора. Хотя компиляция неизменяема, она также выполняется по запросу и будет реализовывать и кэшировать данные по мере необходимости. Компиляция может создать новую компиляцию из существующей компиляции с применением небольших изменений. Во многих случаях это более эффективно, чем создание новой компиляции с нуля, так как новая компиляция может повторно использовать сведения из старой компиляции.

SourceModule

IModuleSymbol Возвращает для модуля, создаваемого путем компиляции всего исходного кода.

(Унаследовано от Compilation)
SyntaxTrees

Синтаксические деревья (проанализированные из исходного кода), с которыми была создана эта компиляция.

Методы

AddReferences(IEnumerable<MetadataReference>)

Создает новую компиляцию с дополнительными ссылками на метаданные.

AddReferences(MetadataReference[])

Создает новую компиляцию с дополнительными ссылками на метаданные.

AddSyntaxTrees(IEnumerable<SyntaxTree>)

Создает новую компиляцию с дополнительными деревьями синтаксиса.

AddSyntaxTrees(SyntaxTree[])

Создает новую компиляцию с дополнительными деревьями синтаксиса.

AppendDefaultVersionResource(Stream)

Объект компиляции является неизменяемым представлением одного вызова компилятора. Хотя компиляция неизменяема, она также выполняется по запросу и будет реализовывать и кэшировать данные по мере необходимости. Компиляция может создать новую компиляцию из существующей компиляции с применением небольших изменений. Во многих случаях это более эффективно, чем создание новой компиляции с нуля, так как новая компиляция может повторно использовать сведения из старой компиляции.

(Унаследовано от Compilation)
ClassifyCommonConversion(ITypeSymbol, ITypeSymbol)

Классифицирует преобразование из source в destination согласно языку программирования этой компиляции.

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)

Создает объект , IMethodSymbol для которого MethodKind используется BuiltinOperator унарный оператор . Встроенные операторы обычно создаются для символов, таких как bool int.operator -(int value) , которые язык неявно поддерживает, даже если такой символ явно не определен для этого типа в источнике или метаданных.

(Унаследовано от Compilation)
CreateBuiltinOperator(String, ITypeSymbol, ITypeSymbol, ITypeSymbol)

Создает объект , IMethodSymbol для которого MethodKind используется BuiltinOperator бинарный оператор. Встроенные операторы обычно создаются для символов, таких как 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>)

Возвращает новый INamedTypeSymbol с заданными типами элементов и (необязательно) именами элементов, расположениями и заметками, допускающих значение NULL.

(Унаследовано от Compilation)
CreateTupleTypeSymbol(INamedTypeSymbol, ImmutableArray<String>, ImmutableArray<Location>)

Возвращает новый INamedTypeSymbol с заданными базовыми именами и расположениями типов и элементов. Базовый тип должен быть совместимым с кортежем.

(Унаследовано от Compilation)
CreateTupleTypeSymbol(INamedTypeSymbol, ImmutableArray<String>, ImmutableArray<Location>, ImmutableArray<NullableAnnotation>)

Возвращает новый INamedTypeSymbol с заданным базовым типом и (необязательно) именами элементов, расположениями и заметками, допускающих значение NULL. Базовый тип должен быть совместимым с кортежем.

(Унаследовано от 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 для использования в последующих операциях "Изменить и продолжить".

(Унаследовано от Compilation)
EmitDifference(EmitBaseline, IEnumerable<SemanticEdit>, Func<ISymbol, Boolean>, Stream, Stream, Stream, ICollection<MethodDefinitionHandle>, CancellationToken)
Устаревшие..

Испускайте различия между компиляцией и предыдущим поколением для параметра "Изменить и продолжить". Различия выражаются в виде добавленных и измененных символов и выдаются в виде метаданных, il и PDB-изменений. Представление текущей компиляции возвращается в виде EmitBaseline для использования в последующих операциях "Изменить и продолжить".

(Унаследовано от Compilation)
EmitDifference(EmitBaseline, IEnumerable<SemanticEdit>, Stream, Stream, Stream, ICollection<MethodDefinitionHandle>, CancellationToken)
Устаревшие..

Испускайте различия между компиляцией и предыдущим поколением для параметра "Изменить и продолжить". Различия выражаются в виде добавленных и измененных символов и выдаются в виде метаданных, il и PDB-изменений. Представление текущей компиляции возвращается в виде EmitBaseline для использования в последующих операциях "Изменить и продолжить".

(Унаследовано от 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, на которую ссылается эта компиляция.

(Унаследовано от Compilation)
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. Наконец, выполняется поиск по всем остальным сборкам, на которые имеются ссылки. Если найден только один тип, соответствующий указанному имени метаданных, возвращается этот тип. Специальные возможности для этого проверка игнорируются.
(Унаследовано от Compilation)
GetTypesByMetadataName(String)

Возвращает все типы со сборкой компиляции и все сборки, на которые имеются ссылки, имеющие заданное каноническое имя метаданных СРЕДЫ CLR. Доступность текущей сборки игнорируется при поиске совпадающих имен типов.

(Унаследовано от Compilation)
GetUnreferencedAssemblyIdentities(Diagnostic)

При отчете Diagnostic , на который не указана ссылка AssemblyIdentity, возвращает фактические AssemblyIdentity экземпляры, на которые не ссылались.

(Унаследовано от Compilation)
GetUsedAssemblyReferences(CancellationToken)

Объект компиляции является неизменяемым представлением одного вызова компилятора. Хотя компиляция неизменяема, она также выполняется по запросу и будет реализовывать и кэшировать данные по мере необходимости. Компиляция может создать новую компиляцию из существующей компиляции с применением небольших изменений. Во многих случаях это более эффективно, чем создание новой компиляции с нуля, так как новая компиляция может повторно использовать сведения из старой компиляции.

GetUsedAssemblyReferences(CancellationToken)

Уникальные ссылки на сборки метаданных, которые считаются используемыми в этой компиляции. Например, если на тип, объявленный в сборке, на которую указывает ссылка, указана ссылка в исходном коде в этой компиляции, ссылка считается используемой. Др. Возвращаемый набор — это подмножество ссылок, возвращаемых References API. Результат не определен, если компиляция содержит ошибки.

Влияние импортированных пространств имен на результат работы этого API зависит от того, отключен ли для компиляции отчеты о неиспользуемых импортах. Отчеты о неиспользуемых импортах отключены, если DocumentationMode для задано значение None.

Если отчеты о неиспользуемых импортах отключены, все сборки, на которые имеются ссылки, содержащие типы, принадлежащие импортированным пространствам имен, включаются в результат. Т.е. считается использованным.

Если отчеты о неиспользуемых импортах включены, импортированные пространства имен не влияют на результат работы этого API. Таким образом, удаление ссылок на сборки, которых нет в результатах, может привести к ошибке "CS0246: не удалось найти имя типа или пространства имен (отсутствует ли директива using или ссылка на сборку?)" при неиспользуемом импорте пространства имен. Однако этот импорт будет сообщаться компилятором как неиспользуемый для компиляции, в которой был вызван этот API. Чтобы избежать ошибок, рекомендуется одновременно удалить неиспользуемые ссылки на сборки и неиспользуемые импорты.

(Унаследовано от Compilation)
HasImplicitConversion(ITypeSymbol, ITypeSymbol)

Возвращает значение true, если имеется неявное преобразование (C#) или расширение (VB) из fromType в toType. Возвращает значение false, если fromType значение или toType равно NULL или если такое преобразование не существует.

(Унаследовано от 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.

Применяется к