System.Runtime.CompilerServices 命名空间
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
为使用托管代码指定影响公共语言运行时运行时行为的元数据中的属性的编译器编写器提供功能。
类
AccessedThroughPropertyAttribute |
指定访问特性化字段的属性的名称。 |
AsyncIteratorStateMachineAttribute |
指示方法是否为异步迭代器。 |
AsyncMethodBuilderAttribute |
指示语言编译器应在用作异步方法的返回类型时生成特性化类型的异步方法生成器的类型。 |
AsyncStateMachineAttribute | |
CallConvCdecl |
指示方法应使用 |
CallConvFastcall |
此版本的 .NET 不支持此调用约定。 |
CallConvMemberFunction |
指示使用的调用约定是成员函数变体。 |
CallConvStdcall |
指示方法应使用 |
CallConvSuppressGCTransition |
指示方法应禁止 GC 转换作为调用约定的一部分。 |
CallConvSwift |
指示方法应使用 Swift 调用约定。 |
CallConvThiscall |
指示方法应使用 |
CallerArgumentExpressionAttribute |
指示参数将捕获为另一个参数作为字符串传递的表达式。 |
CallerFilePathAttribute |
允许获取包含调用方的源文件的完整路径。 这是编译时的文件路径。 |
CallerLineNumberAttribute |
允许在调用该方法的源文件中获取行号。 |
CallerMemberNameAttribute |
允许获取方法调用方的方法或属性名称。 |
CallSite |
动态调用站点基类。 此类型用作动态站点目标的参数类型。 |
CallSite<T> |
动态网站类型。 |
CallSiteBinder |
负责对动态调用站点上的动态操作进行运行时绑定的类。 |
CallSiteHelpers |
包含 DLR CallSites 帮助程序方法的类。 |
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、委托类型和非托管函数指针调用的内置运行时托管/非托管封送子系统。 |
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 |
指示 Visual Basic 中的方法是否使用 |
IUnknownConstantAttribute |
指示特性化字段或参数的默认值是 UnknownWrapper的实例,其中 WrappedObject |
MetadataUpdateOriginalTypeAttribute |
在热重载会话期间更新带有 CreateNewOnMetadataUpdateAttribute 标记的类型时,编译器发出。 |
MethodImplAttribute |
指定如何实现方法的详细信息。 无法继承此类。 |
ModuleInitializerAttribute |
用于向编译器指示应在其包含模块的初始值设定项中调用方法。 |
NativeCppClassAttribute |
将元数据应用于指示类型为非托管类型的程序集。 无法继承此类。 |
NullableAttribute |
保留供编译器用于跟踪元数据。 开发人员不应在源代码中使用此属性。 |
NullableContextAttribute |
保留供编译器用于跟踪元数据。 开发人员不应在源代码中使用此属性。 |
NullablePublicOnlyAttribute |
保留供编译器用于跟踪元数据。 开发人员不应在源代码中使用此属性。 |
OverloadResolutionPriorityAttribute |
指定重载解析中成员的优先级。 如果未指定,则默认优先级为 0。 |
ParamCollectionAttribute |
指示方法在其调用中允许可变数量的参数。 |
PreserveBaseOverridesAttribute |
确保对方法的任何虚拟调用(无论是使用方法的基签名还是派生签名)执行最派生的重写。 |
ReadOnlyCollectionBuilder<T> |
只读集合的生成器。 |
ReferenceAssemblyAttribute |
将程序集标识为引用程序集,该程序集包含元数据,但不包含可执行代码。 |
RefSafetyRulesAttribute |
指示编译模块时使用的 ref 安全规则的语言版本。 |
RequiredAttributeAttribute |
指定导入编译器必须完全理解类型定义的语义,或拒绝使用它。 无法继承此类。 |
RequiredMemberAttribute |
指定类型具有必需的成员或成员是必需的。 |
RequiresLocationAttribute |
保留供编译器用于跟踪元数据。 开发人员不应在源代码中使用此属性。 |
RuleCache<T> |
表示运行时绑定规则的缓存。 |
RuntimeCompatibilityAttribute |
指定是否使用 RuntimeWrappedException 对象包装不派生自 Exception 类的异常。 无法继承此类。 |
RuntimeFeature |
定义 API 以确定公共语言运行时是否支持特定功能。 |
RuntimeHelpers |
提供一组静态方法和属性,这些方法和属性为编译器提供支持。 无法继承此类。 |
RuntimeOps |
包含从动态生成的方法调用的帮助程序方法。 |
RuntimeWrappedException |
包装不派生自 Exception 类的异常。 无法继承此类。 |
ScopedRefAttribute |
保留供编译器用于跟踪元数据。 开发人员不应在源代码中使用此属性。 |
ScopelessEnumAttribute |
指示枚举类型名称不限定本机枚举。 无法继承此类。 |
SkipLocalsInitAttribute |
向编译器指示在向元数据发出时,不应在嵌套方法标头中设置 .locals init 标志。 |
SpecialNameAttribute |
指示运行时或工具以特殊方式处理类型或成员。 无法继承此类。 |
StateMachineAttribute |
允许你确定方法是否为状态机方法。 |
StringFreezingAttribute |
荒废的。 使用 Ngen.exe(本机映像生成器)创建本机映像时冻结字符串文本。 无法继承此类。 |
StrongBox<T> |
保留对值的引用。 |
SuppressIldasmAttribute |
防止 Ildasm.exe(IL 反汇编程序) 反汇编程序集。 无法继承此类。 |
SwitchExpressionException |
指示未详尽的开关表达式在运行时无法匹配其输入。 异常(可选)包含表示不匹配值的对象。 |
TupleElementNamesAttribute |
指示对成员使用值元组应被视为具有元素名称的元组。 |
TypeForwardedFromAttribute |
在另一个程序集中指定源 Type。 |
TypeForwardedToAttribute |
在另一个程序集中指定目标 Type。 |
Unsafe |
包含用于操作托管指针和非托管指针的通用低级别功能。 |
UnsafeAccessorAttribute |
提供对特定类型的不可访问成员的访问权限。 |
UnsafeValueTypeAttribute |
指定类型包含可能溢出的非托管数组。 无法继承此类。 |
结构
接口
IAsyncStateMachine |
表示为异步方法生成的状态计算机。 此类型仅用于编译器使用。 |
ICriticalNotifyCompletion |
表示在等待操作完成时计划延续的等待程序。 |
INotifyCompletion |
表示在完成时计划延续的操作。 |
IRuntimeVariables |
表示运行时变量的值。 |
IStrongBox |
定义用于访问对象引用的值的属性。 |
ITuple |
定义一个常规用途元组实现,该实现允许访问元组实例成员,而无需了解基础元组类型。 |
枚举
CompilationRelaxations |
指定控制公共语言运行时实时 (JIT) 编译器生成的代码的严格性的参数。 |
LoadHint |
指定依赖程序集的首选默认绑定。 |
MethodCodeType |
定义如何实现方法。 |
MethodImplOptions |
指定定义如何实现方法的详细信息的常量。 |
UnsafeAccessorKind |
指定 UnsafeAccessorAttribute 向其提供访问权限的目标类型。 |
委托
ConditionalWeakTable<TKey,TValue>.CreateValueCallback |
表示一个方法,该方法创建一个非默认值,以作为键/值对的一部分添加到 ConditionalWeakTable<TKey,TValue> 对象。 |
RuntimeHelpers.CleanupCode |
表示在发生异常时要运行的方法。 |
RuntimeHelpers.TryCode |
表示应在 try 块中运行的代码的委托。 |
注解
此命名空间主要用于编译器编写器,尽管其多个类(如 InternalsVisibleToAttribute)用于各种应用程序。