System.Runtime.CompilerServices 命名空间

为使用托管代码的编译器编写器提供功能,编译器编写器使用托管代码在影响公共语言运行时的运行时行为的元数据中指定特性。

AccessedThroughPropertyAttribute

指定访问特性化字段的属性的名称。

AsyncIteratorStateMachineAttribute

指示方法是否为异步迭代器。

AsyncMethodBuilderAttribute

指示在用作异步方法的返回类型时,应由语言编译器用于生成属性类型的异步方法生成器类型。

AsyncStateMachineAttribute

指示是否使用 Asyncasync 修饰符标记方法。

CallConvCdecl

指示方法应使用 Cdecl 调用约定。

CallConvFastcall

此版本的 .NET 不支持该调用约定。

CallConvMemberFunction

指示使用的调用约定是成员函数变体。

CallConvStdcall

指示方法应使用 StdCall 调用约定。

CallConvSuppressGCTransition

指示方法应在调用约定中禁止 GC 转换。

CallConvSwift

为使用托管代码的编译器编写器提供功能,编译器编写器使用托管代码在影响公共语言运行时的运行时行为的元数据中指定特性。

CallConvThiscall

指示方法应使用 ThisCall 调用约定。

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 的实例,其中 WrappedObjectnull

IndexerNameAttribute

在不直接支持索引器的编程语言中指示索引器的名称。

InlineArrayAttribute

指示实例的存储按顺序复制 Length 时间。

InternalsVisibleToAttribute

指定通常仅在当前程序集中可见的类型对指定程序集可见。

InterpolatedStringHandlerArgumentAttribute

指示应将涉及内插字符串处理程序的方法的哪些参数传递给该处理程序。

InterpolatedStringHandlerAttribute

指示特性化类型将用作内插字符串处理程序。

IsBoxed

指示修饰的引用类型是装箱的值类型。 此类不能被继承。

IsByRefLikeAttribute

指示结构类似 byref。

IsByValue

指示修饰的方法参数应解释为具有按值传递对象的语义。 此修饰应用于引用类型。 此类不能被继承。

IsConst

指示修饰的类型有一个 const 修饰符。 此类不能被继承。

IsCopyConstructed

指示对此类型的值的任何复制操作都必须使用由该类型提供的复制构造函数。 此类不能被继承。

IsExplicitlyDereferenced

指示托管指针表示某方法签名内的指针参数。 此类不能被继承。

IsExternalInit

保留供编译器用于跟踪元数据。 开发人员不应在源代码中使用此类。

IsImplicitlyDereferenced

指示修饰的垃圾回收引用表示某方法签名内的引用参数。 此类不能被继承。

IsJitIntrinsic

指示修改的方法是实时 (JIT) 编译器可执行特殊代码生成的内部值。 此类不能被继承。

IsLong

指示修饰的整数是标准 C++ long 值。 此类不能被继承。

IsPinned

指示修饰的实例固定在内存中。 此类不能被继承。

IsReadOnlyAttribute

将程序元素标记为只读。

IsSignUnspecifiedByte

指示修饰符既非有符号,也非无符号。 此类不能被继承。

IsUdtReturn

指示返回类型是用户定义的类型。 此类不能被继承。

IsUnmanagedAttribute

保留供编译器用于跟踪元数据。 开发人员不应在源代码中使用此属性。

IsVolatile

将字段标记为易失字段。 此类不能被继承。

IteratorStateMachineAttribute

指示是否使用 Iterator 修饰符标记 Visual Basic 中的方法。

IUnknownConstantAttribute

指示特性化字段或参数的默认值是 UnknownWrapper 的实例,其中 WrappedObjectnull。 此类不能被继承。

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

指定包含可能溢出的非托管数组的类型。 此类不能被继承。

结构

AsyncIteratorMethodBuilder

表示异步迭代器的生成器。

AsyncTaskMethodBuilder

表示返回任务的异步方法生成器。

AsyncTaskMethodBuilder<TResult>

表示异步方法的生成器,该生成器将返回任务并提供结果的参数。

AsyncValueTaskMethodBuilder

表示返回 ValueTask 的异步方法生成器。

AsyncValueTaskMethodBuilder<TResult>

表示返回 ValueTask<TResult> 的异步方法生成器。

AsyncVoidMethodBuilder

表示不返回值的异步方法生成器。

ConfiguredAsyncDisposable

提供一个类型,该类型可用于配置 IAsyncDisposable 上的等待的执行方式。

ConfiguredCancelableAsyncEnumerable<T>.Enumerator

提供可等待的异步枚举器,用于实现可取消的迭代和配置的等待。

ConfiguredCancelableAsyncEnumerable<T>

提供可等待的异步可枚举项,用于实现可取消的迭代和配置的等待。

ConfiguredTaskAwaitable

提供用于启用任务上的已配置等待的可等待对象。

ConfiguredTaskAwaitable.ConfiguredTaskAwaiter

提供可等待 (ConfiguredTaskAwaitable) 对象的 Awaiter。

ConfiguredTaskAwaitable<TResult>.ConfiguredTaskAwaiter

提供可等待对象 (ConfiguredTaskAwaitable<TResult>) 的 Awaiter。

ConfiguredTaskAwaitable<TResult>

提供用于启用任务上的已配置等待的可等待对象。

ConfiguredValueTaskAwaitable

提供用于启用 ValueTask 上的已配置等待的可等待类型。

ConfiguredValueTaskAwaitable.ConfiguredValueTaskAwaiter

ConfiguredValueTaskAwaitable 提供一个 awaiter。

ConfiguredValueTaskAwaitable<TResult>.ConfiguredValueTaskAwaiter

ConfiguredValueTaskAwaitable<TResult> 提供一个 awaiter。

ConfiguredValueTaskAwaitable<TResult>

提供用于启用 ValueTask<TResult> 上的已配置等待的可等待类型。

DefaultInterpolatedStringHandler

提供语言编译器用于将内插字符串处理到 String 实例中的处理程序。

PoolingAsyncValueTaskMethodBuilder

表示返回 ValueTask 的异步方法生成器。

PoolingAsyncValueTaskMethodBuilder<TResult>

表示返回 ValueTask<TResult> 的异步方法生成器。

TaskAwaiter

提供等待异步任务完成的对象。

TaskAwaiter<TResult>

表示等待异步任务完成的对象并为结果提供参数。

ValueTaskAwaiter

ValueTask 提供一个 awaiter。

ValueTaskAwaiter<TResult>

ValueTask<TResult> 提供一个 awaiter。

YieldAwaitable

提供上下文,用于在异步切换到目标环境时等待。

YieldAwaitable.YieldAwaiter

提供用于切换到目标环境的 awaiter。

接口

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)用于各种应用程序。