Compilation 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
编译对象是编译器的单个调用的不可变表示形式。 虽然不可变,但编译也是按需的,并会根据需要实现和缓存数据。 编译可以从现有编译生成新的编译,并应用小型增量。 在许多情况下,它比从头开始创建新编译更有效,因为新编译可以重复使用旧编译中的信息。
public ref class Compilation abstract
public abstract class Compilation
type Compilation = class
Public MustInherit Class Compilation
- 继承
-
Compilation
- 派生
字段
| 名称 | 说明 |
|---|---|
| _features |
编译对象是编译器的单个调用的不可变表示形式。 虽然不可变,但编译也是按需的,并会根据需要实现和缓存数据。 编译可以从现有编译生成新的编译,并应用小型增量。 在许多情况下,它比从头开始创建新编译更有效,因为新编译可以重复使用旧编译中的信息。 |
属性
| 名称 | 说明 |
|---|---|
| Assembly |
表示 IAssemblySymbol 正在创建的程序集。 |
| AssemblyName |
简单程序集名称,如果未指定,则为 null。 |
| CommonAssembly |
编译对象是编译器的单个调用的不可变表示形式。 虽然不可变,但编译也是按需的,并会根据需要实现和缓存数据。 编译可以从现有编译生成新的编译,并应用小型增量。 在许多情况下,它比从头开始创建新编译更有效,因为新编译可以重复使用旧编译中的信息。 |
| CommonDynamicType |
编译对象是编译器的单个调用的不可变表示形式。 虽然不可变,但编译也是按需的,并会根据需要实现和缓存数据。 编译可以从现有编译生成新的编译,并应用小型增量。 在许多情况下,它比从头开始创建新编译更有效,因为新编译可以重复使用旧编译中的信息。 |
| CommonGlobalNamespace |
编译对象是编译器的单个调用的不可变表示形式。 虽然不可变,但编译也是按需的,并会根据需要实现和缓存数据。 编译可以从现有编译生成新的编译,并应用小型增量。 在许多情况下,它比从头开始创建新编译更有效,因为新编译可以重复使用旧编译中的信息。 |
| CommonObjectType |
编译对象是编译器的单个调用的不可变表示形式。 虽然不可变,但编译也是按需的,并会根据需要实现和缓存数据。 编译可以从现有编译生成新的编译,并应用小型增量。 在许多情况下,它比从头开始创建新编译更有效,因为新编译可以重复使用旧编译中的信息。 |
| CommonOptions |
编译对象是编译器的单个调用的不可变表示形式。 虽然不可变,但编译也是按需的,并会根据需要实现和缓存数据。 编译可以从现有编译生成新的编译,并应用小型增量。 在许多情况下,它比从头开始创建新编译更有效,因为新编译可以重复使用旧编译中的信息。 |
| CommonScriptClass |
编译对象是编译器的单个调用的不可变表示形式。 虽然不可变,但编译也是按需的,并会根据需要实现和缓存数据。 编译可以从现有编译生成新的编译,并应用小型增量。 在许多情况下,它比从头开始创建新编译更有效,因为新编译可以重复使用旧编译中的信息。 |
| CommonScriptGlobalsType |
编译对象是编译器的单个调用的不可变表示形式。 虽然不可变,但编译也是按需的,并会根据需要实现和缓存数据。 编译可以从现有编译生成新的编译,并应用小型增量。 在许多情况下,它比从头开始创建新编译更有效,因为新编译可以重复使用旧编译中的信息。 |
| CommonSourceModule |
编译对象是编译器的单个调用的不可变表示形式。 虽然不可变,但编译也是按需的,并会根据需要实现和缓存数据。 编译可以从现有编译生成新的编译,并应用小型增量。 在许多情况下,它比从头开始创建新编译更有效,因为新编译可以重复使用旧编译中的信息。 |
| CommonSyntaxTrees |
编译对象是编译器的单个调用的不可变表示形式。 虽然不可变,但编译也是按需的,并会根据需要实现和缓存数据。 编译可以从现有编译生成新的编译,并应用小型增量。 在许多情况下,它比从头开始创建新编译更有效,因为新编译可以重复使用旧编译中的信息。 |
| DirectiveReferences |
此编译的源代码中通过 #r 指令指定的唯一元数据引用。 |
| DynamicType |
此编译中类型“dynamic”的 TypeSymbol。 |
| ExternalReferences |
传递给编译构造函数的元数据引用。 |
| GlobalNamespace |
根命名空间,其中包含在源代码或引用的元数据中定义的所有命名空间和类型,合并到单个命名空间层次结构中。 |
| IsCaseSensitive |
如果这是区分大小写的编译,则返回 true;否则返回 false。 区分大小写会影响编译功能,例如名称查找,以及在有多个不同选项时选择要发出的名称(例如,虚拟方法和替代之间)。 |
| Language |
获取源语言(“C#”或“Visual Basic”)。 |
| ObjectType |
.NET System.Object 类型的 INamedTypeSymbol,如果此编译中没有 COR 库,则可能会有 TypeKind 错误。 |
| Options |
获取使用编译创建的选项。 |
| ReferencedAssemblyNames |
此编译直接引用的所有程序集的程序集标识。 |
| References |
所有元数据引用 - 传递给编译构造函数的引用,以及通过 #r 指令指定的引用。 |
| ScriptClass |
表示隐式脚本类的符号。 如果未在编译中定义类,则为 null。 |
| ScriptCompilationInfo |
编译对象是编译器的单个调用的不可变表示形式。 虽然不可变,但编译也是按需的,并会根据需要实现和缓存数据。 编译可以从现有编译生成新的编译,并应用小型增量。 在许多情况下,它比从头开始创建新编译更有效,因为新编译可以重复使用旧编译中的信息。 |
| SourceModule |
获取 IModuleSymbol 通过编译所有源代码创建的模块。 |
| SyntaxTrees |
获取使用此编译创建的语法树(从源代码分析)。 |
方法
| 名称 | 说明 |
|---|---|
| AddReferences(IEnumerable<MetadataReference>) |
使用其他元数据引用创建新的编译。 |
| AddReferences(MetadataReference[]) |
使用其他元数据引用创建新的编译。 |
| AddSyntaxTrees(IEnumerable<SyntaxTree>) |
使用其他语法树创建新的编译。 |
| AddSyntaxTrees(SyntaxTree[]) |
使用其他语法树创建新的编译。 |
| AppendDefaultVersionResource(Stream) |
编译对象是编译器的单个调用的不可变表示形式。 虽然不可变,但编译也是按需的,并会根据需要实现和缓存数据。 编译可以从现有编译生成新的编译,并应用小型增量。 在许多情况下,它比从头开始创建新编译更有效,因为新编译可以重复使用旧编译中的信息。 |
| CheckTupleElementLocations(Int32, ImmutableArray<Location>) |
编译对象是编译器的单个调用的不可变表示形式。 虽然不可变,但编译也是按需的,并会根据需要实现和缓存数据。 编译可以从现有编译生成新的编译,并应用小型增量。 在许多情况下,它比从头开始创建新编译更有效,因为新编译可以重复使用旧编译中的信息。 |
| CheckTupleElementNames(Int32, ImmutableArray<String>) |
检查是否提供了任何名称,其数字是否与预期的基数匹配。 返回元素名称的规范化版本(如果所有名称均为 null,则为空数组)。 |
| CheckTupleElementNullableAnnotations(Int32, ImmutableArray<NullableAnnotation>) |
编译对象是编译器的单个调用的不可变表示形式。 虽然不可变,但编译也是按需的,并会根据需要实现和缓存数据。 编译可以从现有编译生成新的编译,并应用小型增量。 在许多情况下,它比从头开始创建新编译更有效,因为新编译可以重复使用旧编译中的信息。 |
| ClassifyCommonConversion(ITypeSymbol, ITypeSymbol) |
根据此编译的编程语言对转换 |
| 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的一个 |
| CommonGetSemanticModel(SyntaxTree, SemanticModelOptions) |
获取给定SemanticModel的一个 |
| 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) 谓词只是一个简单的字符串检查时更快。
|
| ContainsSyntaxTree(SyntaxTree) |
如果此编译包含指定的树,则返回 true。 否则为 false。 |
| CreateAnonymousTypeSymbol(ImmutableArray<ITypeSymbol>, ImmutableArray<String>, ImmutableArray<Boolean>, ImmutableArray<Location>, ImmutableArray<NullableAnnotation>) |
返回一个新的匿名类型符号,其中包含给定的成员类型、名称、源位置和可为 null 的批注。
默认情况下,匿名类型成员将只读。 VB 支持可写属性,可以通过传入 |
| CreateAnonymousTypeSymbol(ImmutableArray<ITypeSymbol>, ImmutableArray<String>, ImmutableArray<Boolean>, ImmutableArray<Location>) |
返回具有给定成员类型、名称和源位置的新匿名类型符号。
默认情况下,匿名类型成员将只读。 VB 支持可写属性,可以通过传入 |
| CreateArrayTypeSymbol(ITypeSymbol, Int32, NullableAnnotation) |
返回一个新的 ArrayTypeSymbol,表示此编译中绑定到 COR 库基类型的数组类型。 |
| CreateArrayTypeSymbol(ITypeSymbol, Int32) |
返回一个新的 ArrayTypeSymbol,表示此编译中绑定到 COR 库基类型的数组类型。 |
| CreateBuiltinOperator(String, ITypeSymbol, ITypeSymbol, ITypeSymbol) |
创建一个IMethodSymbol二MethodKind进制运算符。BuiltinOperator 内置运算符通常为语言隐式支持的符号 |
| CreateBuiltinOperator(String, ITypeSymbol, ITypeSymbol) |
IMethodSymbol创建一元运算符的一MethodKind个对象BuiltinOperator。 内置运算符通常为语言隐式支持的符号 |
| 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>) |
返回具有给定基础类型和(可选)元素名称、位置和可为 null 注释的新 INamedTypeSymbol。 基础类型需要与元组兼容。 |
| 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) |
将编译的源代码的 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, 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 Library 获取预定义类型的符号。 |
| GetSymbolsWithName(Func<String,Boolean>, SymbolFilter, CancellationToken) |
返回名称符合给定谓词的源声明符号。 |
| GetSymbolsWithName(String, SymbolFilter, CancellationToken) |
返回名称与提供的名称匹配的源声明符号。 这可能比 GetSymbolsWithName(Func<String,Boolean>, SymbolFilter, CancellationToken) 谓词只是一个简单的字符串检查时更快。
|
| GetTypeByMetadataName(String) |
获取编译程序集中的类型以及所有引用的程序集(而不是只能通过外部别名引用的程序集)使用其规范 CLR 元数据名称。 此查找遵循以下顺序:
|
| GetTypesByMetadataName(String) |
获取具有编译程序集和具有给定规范 CLR 元数据名称的所有引用程序集的所有类型。 搜索匹配的类型名称时,将忽略当前程序集的可访问性。 |
| GetUnreferencedAssemblyIdentities(Diagnostic) |
Diagnostic给定未引用AssemblyIdentity的报告,返回未引用的实际AssemblyIdentity实例。 |
| GetUsedAssemblyReferences(CancellationToken) |
此编译考虑使用的唯一元数据程序集引用。 例如,如果在引用的程序集中声明的类型在此编译中的源代码中引用,则此引用被视为使用。 等。返回集是 API 返回的 References 引用的子集。 如果编译包含错误,则结果未定义。 导入的命名空间对此 API 结果的影响取决于是否为编译禁用了未使用的导入的报告。 如果 DocumentationMode 设置为 None,则禁用未使用的导入报告。 禁用未使用的导入报告后,所有引用的程序集都包含在结果中,其中包含属于导入命名空间的任何类型。 即已考虑使用。 启用未使用的导入报告后,导入的命名空间不会影响此 API 的结果。 因此,删除结果中不存在的程序集引用可能会导致错误“CS0246:找不到类型或命名空间名称(你缺少 using 指令或程序集引用吗? 但是,编译器会将该导入报告为未用于调用此 API 的编译。 为了避免错误,建议同时删除未使用的程序集引用和未使用的导入。 |
| HasImplicitConversion(ITypeSymbol, ITypeSymbol) |
如果存在隐式 (C#) 或扩大 (VB) 转换, |
| IsSymbolAccessibleWithin(ISymbol, ISymbol, ITypeSymbol) |
检查是否 |
| 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) |
返回带有附加诊断分析器的新编译。 |