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 可能为 Error。 |
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) |
根据此编译的编程语言将从 |
Clone() |
使用不同的符号实例创建与此编译等效的新编译。 |
CommonAddSyntaxTrees(IEnumerable<SyntaxTree>) |
编译对象是编译器的单个调用的不可变表示形式。 虽然不可变,但编译也是按需的,并将根据需要实现和缓存数据。 编译可以通过应用小增量从现有编译生成新的编译。 在许多情况下,它比从头开始创建新编译更有效,因为新编译可以重用旧编译中的信息。 |
CommonBindScriptClass() |
解析表示脚本容器的符号 (Script 类) 。 使用存储在 中的 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获取给定 |
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>) |
返回具有给定成员类型、名称和源位置的新匿名类型符号。
默认情况下,匿名类型成员是只读的。 VB 中支持可写属性,可以通过在 |
CreateAnonymousTypeSymbol(ImmutableArray<ITypeSymbol>, ImmutableArray<String>, ImmutableArray<Boolean>, ImmutableArray<Location>, ImmutableArray<NullableAnnotation>) |
返回一个新的匿名类型符号,其中包含给定的成员类型、名称、源位置和可为 null 的注释。
默认情况下,匿名类型成员是只读的。 VB 中支持可写属性,可以通过在 |
CreateArrayTypeSymbol(ITypeSymbol, Int32) |
返回一个新的 ArrayTypeSymbol,表示与此编译中的 COR 库基类型绑定的数组类型。 |
CreateArrayTypeSymbol(ITypeSymbol, Int32, NullableAnnotation) |
返回一个新的 ArrayTypeSymbol,表示与此编译中的 COR 库基类型绑定的数组类型。 |
CreateBuiltinOperator(String, ITypeSymbol, ITypeSymbol) |
为一IMethodSymbol元运算符创建一BuiltinOperatorMethodKind个 。 内置运算符通常为语言隐式支持的符号 |
CreateBuiltinOperator(String, ITypeSymbol, ITypeSymbol, ITypeSymbol) |
创建一个 IMethodSymbol ,对于二元运算符,其 MethodKindBuiltinOperator 为 。 内置运算符通常为语言隐式支持的符号 |
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,其中包含给定的元素类型和 (可选的) 元素名称、位置和可为空批注。 |
CreateTupleTypeSymbol(INamedTypeSymbol, ImmutableArray<String>, ImmutableArray<Location>) |
返回具有给定基础类型和元素名称和位置的新 INamedTypeSymbol。 基础类型需要与元组兼容。 |
CreateTupleTypeSymbol(INamedTypeSymbol, ImmutableArray<String>, ImmutableArray<Location>, ImmutableArray<NullableAnnotation>) |
返回一个新的 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, 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)谓词只是一个简单的字符串检查更快。 |
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) |
编译对象是编译器的单个调用的不可变表示形式。 虽然不可变,但编译也是按需的,并将根据需要实现和缓存数据。 编译可以通过应用小增量从现有编译生成新的编译。 在许多情况下,它比从头开始创建新编译更有效,因为新编译可以重用旧编译中的信息。 |
扩展方法
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 属性。 |