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

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

ExternalReferences

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

GlobalNamespace

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

IsCaseSensitive

Возвращает значение true, если это конфиденциальная компиляция регистра, значение false в противном случае. Конфиденциальность регистра влияет на функции компиляции, такие как поиск имен, а также выбор имен, которые следует выдавать при наличии нескольких различных вариантов (например, между виртуальным методом и переопределением).

Language

Получает исходный язык ("C#" или "Visual Basic").

ObjectType

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

Options

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

ReferencedAssemblyNames

Удостоверения сборки всех сборок напрямую ссылаются на эту компиляцию.

References

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

ScriptClass

Символ, представляющий неявный класс Script. Значение 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()

Разрешает символ, представляющий контейнер скриптов (класс script). Использует полное имя класса контейнера, хранящегося в ScriptClassName объекте, для поиска символа.

CommonClone()

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

CommonContainsSyntaxTree(SyntaxTree)

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

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

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

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

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

CommonCreateArrayTypeSymbol(ITypeSymbol, Int32, NullableAnnotation)

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

CommonCreateArrayTypeSymbol(ITypeSymbol, Int32)

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

CommonCreateBuiltinOperator(String, ITypeSymbol, ITypeSymbol, ITypeSymbol)

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

CommonCreateBuiltinOperator(String, ITypeSymbol, ITypeSymbol)

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

CommonCreateErrorNamespaceSymbol(INamespaceSymbol, String)

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

CommonCreateErrorTypeSymbol(INamespaceOrTypeSymbol, String, Int32)

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

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

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

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

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

CommonCreateNativeIntegerTypeSymbol(Boolean)

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

CommonCreatePointerTypeSymbol(ITypeSymbol)

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

CommonCreatePreprocessingSymbol(String)

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

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

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

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

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

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

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

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

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

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).

CommonGetSemanticModel(SyntaxTree, SemanticModelOptions)

SemanticModel Получает значение для заданного.syntaxTree Если Microsoft.CodeAnalysis.Compilation.SemanticModelProvider значение не равно null, оно пытается использовать Microsoft.CodeAnalysis.SemanticModelProvider.GetSemanticModel(Microsoft.CodeAnalysis.SyntaxTree,Microsoft.CodeAnalysis.Compilation,Microsoft.CodeAnalysis.SemanticModelOptions) для получения семантической модели. В противном случае он создает новую семантику модели с помощью Microsoft.CodeAnalysis.Compilation.CreateSemanticModel(Microsoft.CodeAnalysis.SyntaxTree,Microsoft.CodeAnalysis.SemanticModelOptions).

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, если эта компиляция содержит указанное дерево. В противном случае - ложь.

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

Возвращает новый символ анонимного типа с заданными типами элементов, именами, исходными расположениями и заметками, допускаемыми значением NULL. Анонимные члены типа будут прочитаны по умолчанию. Свойства, доступные для записи, поддерживаются в VB и могут быть созданы путем передачи false в соответствующих расположениях.memberIsReadOnly

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

Возвращает новый символ анонимного типа с заданными типами элементов, именами и расположениями источника. Анонимные члены типа будут прочитаны по умолчанию. Свойства, доступные для записи, поддерживаются в VB и могут быть созданы путем передачи false в соответствующих расположениях.memberIsReadOnly

CreateArrayTypeSymbol(ITypeSymbol, Int32, NullableAnnotation)

Возвращает новый массив ArrayTypeSymbol, представляющий тип массива, привязанный к базовым типам библиотеки COR в этой компиляции.

CreateArrayTypeSymbol(ITypeSymbol, Int32)

Возвращает новый массив ArrayTypeSymbol, представляющий тип массива, привязанный к базовым типам библиотеки COR в этой компиляции.

CreateBuiltinOperator(String, ITypeSymbol, ITypeSymbol, ITypeSymbol)

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

CreateBuiltinOperator(String, ITypeSymbol, ITypeSymbol)

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

CreateDefaultWin32Resources(Boolean, Boolean, Stream, Stream)

Создайте поток, заполненный ресурсами win32 по умолчанию.

CreateErrorNamespaceSymbol(INamespaceSymbol, String)

Возвращает новое пространство имен INamespaceSymbol, представляющее пространство имен ошибки (отсутствует) с заданным именем.

CreateErrorTypeSymbol(INamespaceOrTypeSymbol, String, Int32)

Возвращает новый идентификатор INamedTypeSymbol, представляющий тип ошибки с заданным именем и arity в данном необязательном контейнере.

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

Возвращает новый IFunctionPointerTypeSymbol, представляющий тип указателя функции, привязанный к типам в этой компиляции.

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

Возвращает новый IFunctionPointerTypeSymbol, представляющий тип указателя функции, привязанный к типам в этой компиляции.

CreateNativeIntegerTypeSymbol(Boolean)

Возвращает новое целое число INamedTypeSymbol, представляющее собственное целое число.

CreatePointerTypeSymbol(ITypeSymbol)

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

CreatePreprocessingSymbol(String)

Возвращает новый IPreprocessingSymbol, представляющий символ предварительной обработки с заданным именем.

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

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

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

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

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

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

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

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

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)

ИЛЛ для скомпилированного исходного кода в указанный поток.

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

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

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

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

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

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

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

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

GetAssemblyOrModuleSymbol(MetadataReference)

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

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 для указанного дерева синтаксиса.

GetSemanticModel(SyntaxTree, SemanticModelOptions)

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

GetSpecialType(SpecialType)

Получите символ предопределенного типа из библиотеки Cor, на которую ссылается эта компиляция.

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

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

GetUnreferencedAssemblyIdentities(Diagnostic)

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

GetUsedAssemblyReferences(CancellationToken)

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

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

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

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

HasImplicitConversion(ITypeSymbol, ITypeSymbol)

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

IsSymbolAccessibleWithin(ISymbol, ISymbol, ITypeSymbol)

Проверяет, доступен ли symbol он внутри within. Необязательный квалификатор типа throughType используется для разрешения защищенного доступа для членов экземпляра. Все символы должны быть из этой компиляции или некоторые сборки, на которые ссылается эта компиляция.References within требуется быть INamedTypeSymbol или IAssemblySymbol.

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)

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

Методы расширения

Имя Описание
AliasImports(Compilation)

Возвращает свойство AliasImports компиляции.

ClassifyConversion(Compilation, ITypeSymbol, ITypeSymbol)

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

ClassifyConversion(Compilation, ITypeSymbol, ITypeSymbol)

Определяет тип преобразования между указанными типами.

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

Выдается il для компиляции в указанный поток.

GetSpecialType(Compilation, SpecialType)

Возвращает символ специального типа в текущей компиляции.

MemberImports(Compilation)

Возвращает свойство MemberImports компиляции.

RootNamespace(Compilation)

Возвращает свойство RootNamespace компиляции.

WithAnalyzers(Compilation, ImmutableArray<DiagnosticAnalyzer>, AnalyzerOptions, CancellationToken)
Устаревшие.

Возвращает новую компиляцию с подключенными анализаторами диагностики.

WithAnalyzers(Compilation, ImmutableArray<DiagnosticAnalyzer>, AnalyzerOptions)

Возвращает новую компиляцию с подключенными анализаторами диагностики.

WithAnalyzers(Compilation, ImmutableArray<DiagnosticAnalyzer>, CompilationWithAnalyzersOptions)

Возвращает новую компиляцию с подключенными анализаторами диагностики.

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