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


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

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

ExternalReferences

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

GlobalNamespace

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

IsCaseSensitive

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

Language

Возвращает исходный язык ("C#" или "Visual Basic").

ObjectType

INamedTypeSymbol для типа .NET System.Object, который может иметь типKind ошибки, если в этой компиляции нет библиотеки 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)

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

Clone()

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

CommonAddSyntaxTrees(IEnumerable<SyntaxTree>)

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

CommonBindScriptClass()

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

CommonClone()

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

CommonContainsSyntaxTree(SyntaxTree)

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

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

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

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

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

CommonCreateArrayTypeSymbol(ITypeSymbol, Int32)

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

CommonCreateArrayTypeSymbol(ITypeSymbol, Int32, NullableAnnotation)

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

CommonCreateBuiltinOperator(String, ITypeSymbol, ITypeSymbol)

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

CommonCreateBuiltinOperator(String, ITypeSymbol, ITypeSymbol, ITypeSymbol)

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

CommonCreateErrorNamespaceSymbol(INamespaceSymbol, String)

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

CommonCreateErrorTypeSymbol(INamespaceOrTypeSymbol, String, Int32)

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

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

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

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

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

CommonCreateNativeIntegerTypeSymbol(Boolean)

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

CommonCreatePointerTypeSymbol(ITypeSymbol)

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

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

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

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

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

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

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

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

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

CommonGetAssemblyOrModuleSymbol(MetadataReference)

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

CommonGetCompilationNamespace(INamespaceSymbol)

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

CommonGetEntryPoint(CancellationToken)

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

CommonGetSemanticModel(SyntaxTree, Boolean)

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

CommonGetSpecialType(SpecialType)

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

CommonGetTypeByMetadataName(String)

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

CommonRemoveAllSyntaxTrees()

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

CommonRemoveSyntaxTrees(IEnumerable<SyntaxTree>)

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

CommonReplaceSyntaxTree(SyntaxTree, SyntaxTree)

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

CommonWithAssemblyName(String)

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

CommonWithOptions(CompilationOptions)

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

CommonWithReferences(IEnumerable<MetadataReference>)

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

CommonWithScriptCompilationInfo(ScriptCompilationInfo)

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

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

Возвращает значение true, если имеется имя символа объявления источника, соответствующее заданному предикату.

ContainsSymbolsWithName(String, SymbolFilter, CancellationToken)

Возвращает значение true, если имеется имя символа исходного объявления, соответствующее указанному имени. Это может быть быстрее, чем ContainsSymbolsWithName(Func<String,Boolean>, SymbolFilter, CancellationToken) если предикат является простой строкой проверка. name учитывает регистр или не зависит от целевого языка.

ContainsSyntaxTree(SyntaxTree)

Возвращает значение true, если эта компиляция содержит указанное дерево. В противном случае — значение false.

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

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

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

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

CreateArrayTypeSymbol(ITypeSymbol, Int32)

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

CreateArrayTypeSymbol(ITypeSymbol, Int32, NullableAnnotation)

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

CreateBuiltinOperator(String, ITypeSymbol, ITypeSymbol)

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

CreateBuiltinOperator(String, ITypeSymbol, ITypeSymbol, ITypeSymbol)

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

CreateDefaultWin32Resources(Boolean, Boolean, Stream, Stream)

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

CreateErrorNamespaceSymbol(INamespaceSymbol, String)

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

CreateErrorTypeSymbol(INamespaceOrTypeSymbol, String, Int32)

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

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

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

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

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

CreateNativeIntegerTypeSymbol(Boolean)

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

CreatePointerTypeSymbol(ITypeSymbol)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

GetSpecialType(SpecialType)

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

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

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

GetSymbolsWithName(String, SymbolFilter, CancellationToken)

Возвращает символы объявления источника, имя которых соответствует указанному имени. Это может быть быстрее, чем GetSymbolsWithName(Func<String,Boolean>, SymbolFilter, CancellationToken) если предикат является простой строкой проверка. name учитывает регистр или не зависит от целевого языка.

GetTypeByMetadataName(String)

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

  1. Если тип найден в сборке компиляции, возвращается этот тип.
  2. Затем выполняется поиск в основной библиотеке (библиотеке, которая определяет сборки System.Object и не содержит ссылок на нее). Если тип найден там, возвращается этот тип.
  3. Наконец, выполняется поиск по всем остальным сборкам, на которые имеются ссылки. Если найден только один тип, соответствующий указанному имени метаданных, возвращается этот тип. Специальные возможности для этого проверка игнорируются.
GetTypesByMetadataName(String)

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

GetUnreferencedAssemblyIdentities(Diagnostic)

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

GetUsedAssemblyReferences(CancellationToken)

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

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

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

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

HasImplicitConversion(ITypeSymbol, ITypeSymbol)

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

IsSymbolAccessibleWithin(ISymbol, ISymbol, ITypeSymbol)

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

RemoveAllReferences()

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

RemoveAllSyntaxTrees()

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

RemoveReferences(IEnumerable<MetadataReference>)

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

RemoveReferences(MetadataReference[])

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

RemoveSyntaxTrees(IEnumerable<SyntaxTree>)

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

RemoveSyntaxTrees(SyntaxTree[])

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

ReplaceReference(MetadataReference, MetadataReference)

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

ReplaceSyntaxTree(SyntaxTree, SyntaxTree)

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

SupportsRuntimeCapability(RuntimeCapability)

Определяет, поддерживает ли целевая среда выполнения Compilation определенную возможность.

SyntaxTreeCommonFeatures(IEnumerable<SyntaxTree>)

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

ToMetadataReference(ImmutableArray<String>, Boolean)

Создает ссылку на метаданные для этой компиляции.

WithAssemblyName(String)

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

WithOptions(CompilationOptions)

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

WithReferences(IEnumerable<MetadataReference>)

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

WithReferences(MetadataReference[])

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

WithScriptCompilationInfo(ScriptCompilationInfo)

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

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

ClassifyConversion(Compilation, ITypeSymbol, ITypeSymbol)

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

WithAnalyzers(Compilation, ImmutableArray<DiagnosticAnalyzer>, AnalyzerOptions)

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

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

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

WithAnalyzers(Compilation, ImmutableArray<DiagnosticAnalyzer>, CompilationWithAnalyzersOptions)

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

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

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

AliasImports(Compilation)

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

ClassifyConversion(Compilation, ITypeSymbol, ITypeSymbol)

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

GetSpecialType(Compilation, SpecialType)

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

MemberImports(Compilation)

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

RootNamespace(Compilation)

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

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