System.Runtime.CompilerServices 命名空间
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
为使用托管代码的编译器编写器提供功能,编译器编写器使用托管代码在影响公共语言运行时的运行时行为的元数据中指定特性。
类
AccessedThroughPropertyAttribute |
指定访问特性化字段的属性的名称。 |
AsyncIteratorStateMachineAttribute |
指示方法是否为异步迭代器。 |
AsyncMethodBuilderAttribute |
指示在用作异步方法的返回类型时,应由语言编译器用于生成属性类型的异步方法生成器类型。 |
AsyncStateMachineAttribute | |
CallConvCdecl |
指示方法应使用 |
CallConvFastcall |
此版本的 .NET 不支持该调用约定。 |
CallConvMemberFunction |
指示使用的调用约定是成员函数变体。 |
CallConvStdcall |
指示方法应使用 |
CallConvSuppressGCTransition |
指示方法应在调用约定中禁止 GC 转换。 |
CallConvThiscall |
指示方法应使用 |
CallerArgumentExpressionAttribute |
指示参数将为另一个参数传递的表达式捕获为字符串。 |
CallerFilePathAttribute |
允许获取包含调用方的源文件的完整路径。 这是编译时的文件路径。 |
CallerLineNumberAttribute |
允许获取源文件中调用方法的行号。 |
CallerMemberNameAttribute |
允许获取方法调用方的方法或属性名称。 |
CallSite |
动态调用站点基类。 此类型用作动态站点目标的参数类型。 |
CallSite<T> |
动态站点类型。 |
CallSiteBinder |
负责动态调用站点上动态操作的运行时绑定的类。 |
CallSiteHelpers |
包含 DLR 调用站点的帮助器方法的类。 |
CallSiteOps |
创建和缓存绑定规则。 |
Closure |
表示动态生成方法的运行时状态。 |
CollectionBuilderAttribute |
为使用托管代码的编译器编写器提供功能,编译器编写器使用托管代码在影响公共语言运行时的运行时行为的元数据中指定特性。 |
CompilationRelaxationsAttribute |
控制由公共语言运行时的实时 (JIT) 编译器生成的代码的严谨性。 |
CompilerFeatureRequiredAttribute |
指示应用此属性的位置需要编译器对特定功能的支持。 |
CompilerGeneratedAttribute |
区分编译器生成元素和用户生成的元素。 此类不能被继承。 |
CompilerGlobalScopeAttribute |
指示某类应被视为具有全局范围。 |
CompilerMarshalOverride |
指示修饰的变量实例在封送时与其真实类型不同。 此类不能被继承。 |
ConditionalWeakTable<TKey,TValue> |
使编译器可以将对象字段动态附加到托管对象。 |
ContractHelper |
提供二进制重写程序用以处理协定失败的方法。 |
CppInlineNamespaceAttribute |
在 C++/CLI 中定义内联命名空间。 |
CreateNewOnMetadataUpdateAttribute |
指示应用元数据更新时应替换而不是更新类型。 |
CustomConstantAttribute |
定义编译器为字段或方法参数保留的常量值。 |
DateTimeConstantAttribute |
为字段或参数永久保存一个 8 字节的 DateTime 常数。 |
DebugInfoGenerator |
为表达式树中的 lambda 表达式生成调试信息。 |
DecimalConstantAttribute |
在元数据中存储 Decimal 常数的值。 此类不能被继承。 |
DefaultDependencyAttribute |
向公共语言运行时 (CLR) 提供提示,指示加载依赖项的可能性。 此类用在依赖程序集中,用于指示当父级未指定 DependencyAttribute 特性时应使用的提示。 此类不能被继承。 |
DependencyAttribute |
指示引用程序集将在何时加载依赖项。 此类不能被继承。 |
DisablePrivateReflectionAttribute |
指示程序集的类型中所含的任何私有成员均不可用于映射。 |
DisableRuntimeMarshallingAttribute |
禁用 P/Invokes、Delegate 类型和非托管函数指针调用的内置运行时托管/非托管封送子系统。 |
DiscardableAttribute |
将类型定义标记为可放弃。 |
DynamicAttribute |
指示在成员上使用 Object 应被视为动态调度的类型。 |
EnumeratorCancellationAttribute |
允许采用异步枚举方法的用户标记应从 GetAsyncEnumerator(CancellationToken) 接收取消令牌值的参数。 |
ExecutionScope |
表示动态生成方法的运行时状态。 |
ExtensionAttribute |
指示方法是扩展方法,或者指示类或程序集包含扩展方法。 |
FixedAddressValueTypeAttribute |
在静态值类型字段的整个生存期内固定其地址。 此类不能被继承。 |
FixedBufferAttribute |
指示应将字段视为包含固定数量的指定基元类型元素。 此类不能被继承。 |
FormattableStringFactory |
提供一个静态方法,用于从复合格式字符串及其参数创建 FormattableString 对象。 |
HasCopySemanticsAttribute |
此类已过时。 此类不能被继承。 |
IDispatchConstantAttribute |
指示特性化字段或参数的默认值是 DispatchWrapper 的实例,其中 WrappedObject 为 |
IndexerNameAttribute |
在不直接支持索引器的编程语言中指示索引器的名称。 |
InlineArrayAttribute |
指示实例的存储按顺序复制 Length 时间。 |
InternalsVisibleToAttribute |
指定通常仅在当前程序集中可见的类型对指定程序集可见。 |
InterpolatedStringHandlerArgumentAttribute |
指示应将涉及内插字符串处理程序的方法的哪些参数传递给该处理程序。 |
InterpolatedStringHandlerAttribute |
指示特性化类型将用作内插字符串处理程序。 |
IsBoxed |
指示修饰的引用类型是装箱的值类型。 此类不能被继承。 |
IsByRefLikeAttribute |
指示结构类似 byref。 |
IsByValue |
指示修饰的方法参数应解释为具有按值传递对象的语义。 此修饰应用于引用类型。 此类不能被继承。 |
IsConst |
指示修饰的类型有一个 |
IsCopyConstructed |
指示对此类型的值的任何复制操作都必须使用由该类型提供的复制构造函数。 此类不能被继承。 |
IsExplicitlyDereferenced |
指示托管指针表示某方法签名内的指针参数。 此类不能被继承。 |
IsExternalInit |
保留供编译器用于跟踪元数据。 开发人员不应在源代码中使用此类。 |
IsImplicitlyDereferenced |
指示修饰的垃圾回收引用表示某方法签名内的引用参数。 此类不能被继承。 |
IsJitIntrinsic |
指示修改的方法是实时 (JIT) 编译器可执行特殊代码生成的内部值。 此类不能被继承。 |
IsLong |
指示修饰的整数是标准 C++ |
IsPinned |
指示修饰的实例固定在内存中。 此类不能被继承。 |
IsReadOnlyAttribute |
将程序元素标记为只读。 |
IsSignUnspecifiedByte |
指示修饰符既非有符号,也非无符号。 此类不能被继承。 |
IsUdtReturn |
指示返回类型是用户定义的类型。 此类不能被继承。 |
IsUnmanagedAttribute |
保留供编译器用于跟踪元数据。 开发人员不应在源代码中使用此属性。 |
IsVolatile |
将字段标记为易失字段。 此类不能被继承。 |
IteratorStateMachineAttribute |
指示是否使用 |
IUnknownConstantAttribute |
指示特性化字段或参数的默认值是 UnknownWrapper 的实例,其中 WrappedObject 为 |
MetadataUpdateOriginalTypeAttribute |
在热重载会话期间更新标记为 CreateNewOnMetadataUpdateAttribute 的类型时,编译器发出。 |
MethodImplAttribute |
指定如何实现方法的详细信息。 此类不能被继承。 |
ModuleInitializerAttribute |
用于指示方法应在其包含模块的初始值设定项中调用的编译器。 |
NativeCppClassAttribute |
将指示类型为非托管类型的元数据应用到程序集。 此类不能被继承。 |
NullableAttribute |
保留供编译器用于跟踪元数据。 开发人员不应在源代码中使用此属性。 |
NullableContextAttribute |
保留供编译器用于跟踪元数据。 开发人员不应在源代码中使用此属性。 |
NullablePublicOnlyAttribute |
保留供编译器用于跟踪元数据。 开发人员不应在源代码中使用此属性。 |
PreserveBaseOverridesAttribute |
确保对方法的任何虚拟调用都将执行派生程度最高的替代,无论它使用的是方法的基签名还是派生签名。 |
ReadOnlyCollectionBuilder<T> |
只读集合的生成器。 |
ReferenceAssemblyAttribute |
将程序集标识为引用程序集,其中包含元数据,但不包含可执行代码。 |
RefSafetyRulesAttribute |
指示编译模块时使用的 ref 安全规则的语言版本。 |
RequiredAttributeAttribute |
指定导入编译器必须完全理解类型定义的语义,或拒绝使用它。 此类不能被继承。 |
RequiredMemberAttribute |
指定类型具有必需成员或需要成员。 |
RequiresLocationAttribute |
保留供编译器用于跟踪元数据。 开发人员不应在源代码中使用此属性。 |
RuleCache<T> |
表示运行时绑定规则的缓存。 |
RuntimeCompatibilityAttribute |
指定是否使用 Exception 对象包装不是从 RuntimeWrappedException 类派生的异常。 此类不能被继承。 |
RuntimeFeature |
定义 API 来确定公共语言运行时是否支持特定功能。 |
RuntimeHelpers |
提供一组为编译器提供支持的静态方法和属性。 此类不能被继承。 |
RuntimeOps |
包含从动态生成的方法调用的帮助器方法。 |
RuntimeWrappedException |
包装不是从 Exception 类派生的异常。 此类不能被继承。 |
ScopedRefAttribute |
保留供编译器用于跟踪元数据。 开发人员不应在源代码中使用此属性。 |
ScopelessEnumAttribute |
指示本机枚举未由枚举类型名称限定。 此类不能被继承。 |
SkipLocalsInitAttribute |
向编译器指示在发出元数据时,不应在嵌套的方法标头中设置 .locals init 标志。 |
SpecialNameAttribute |
指示类型或成员由运行时或工具以一种特殊的方式进行处理。 此类不能被继承。 |
StateMachineAttribute |
允许确定方法是否是状态机方法。 |
StringFreezingAttribute |
已否决。 在使用 Ngen.exe (Native Image Generator) 创建本机映像时冻结字符串。 此类不能被继承。 |
StrongBox<T> |
保存对值的引用。 |
SuppressIldasmAttribute |
防止 Ildasm.exe(IL 反汇编程序)反汇编程序集。 此类不能被继承。 |
SwitchExpressionException |
表示非穷举的 switch 表达式无法在运行时匹配其输入。 异常可能包含表示不匹配值的对象。 |
TupleElementNamesAttribute |
指示应将所使用的成员上的值元组视为具有元素名称的元组。 |
TypeForwardedFromAttribute |
指定另一个程序集中的源 Type。 |
TypeForwardedToAttribute |
指定另一个程序集中的目标 Type。 |
Unsafe |
包含用于操作托管和非托管指针的通用低级别功能。 |
UnsafeAccessorAttribute |
提供对特定类型不可访问成员的访问权限。 |
UnsafeValueTypeAttribute |
指定包含可能溢出的非托管数组的类型。 此类不能被继承。 |
结构
接口
IAsyncStateMachine |
表示为异步方法生成的状态机。 此类别仅供编译器使用。 |
ICriticalNotifyCompletion |
表示在完成等待操作时计划延续的 awaiter。 |
INotifyCompletion |
表示完成时计划延续的操作。 |
IRuntimeVariables |
表示运行时变量的值。 |
IStrongBox |
定义一个用于访问某个对象引用的值的属性。 |
ITuple |
定义通用元组实现,它允许在不知道基础元组类型的情况下访问元组实例。 |
枚举
CompilationRelaxations |
指定一些参数,这些参数控制由公共语言运行时的实时 (JIT) 编译器生成的代码的严格性。 |
LoadHint |
指定依赖程序集的首选默认绑定。 |
MethodCodeType |
定义如何实现方法。 |
MethodImplOptions |
指定用于定义如何实现方法的详细信息的常数。 |
UnsafeAccessorKind |
指定提供访问权限的目标 UnsafeAccessorAttribute 类型。 |
委托
ConditionalWeakTable<TKey,TValue>.CreateValueCallback |
表示一种方法,用于创建作为键/值对的一部分添加到 ConditionalWeakTable<TKey,TValue> 对象的非默认值。 |
RuntimeHelpers.CleanupCode |
表示在发生异常时要运行的方法。 |
RuntimeHelpers.TryCode |
表示应该在 try 块中运行的代码的委托。 |
注解
此命名空间主要用于编译器编写器,尽管它的多个类(如 InternalsVisibleToAttribute)用于各种应用程序。