System.Runtime.CompilerServices Espacio de nombres

Proporciona funcionalidad para los compiladores que usan código administrado para especificar atributos en metadatos que afectan al comportamiento en tiempo de ejecución de Common Language Runtime.

Clases

AccessedThroughPropertyAttribute

Especifica el nombre de la propiedad que tiene acceso al campo con atributos.

AsyncIteratorStateMachineAttribute

Indica si un método es un iterador asincrónico.

AsyncMethodBuilderAttribute

Indica el tipo del generador de métodos asincrónicos que debe usar un compilador de lenguaje para compilar el tipo con atributos cuando se usa como tipo de valor devuelto de un método asincrónico.

AsyncStateMachineAttribute

Indica si un método está marcado con el asincrónico de o modificador de asincrónico.

CallConvCdecl

Indica que un método debe usar la convención de llamada Cdecl.

CallConvFastcall

Esta convención de llamada no se admite en esta versión de .NET.

CallConvMemberFunction

Indica que la convención de llamada utilizada es la variante de función miembro.

CallConvStdcall

Indica que un método debe usar la convención de llamada StdCall.

CallConvSuppressGCTransition

Indica que un método debe suprimir la transición de GC como parte de la convención de llamada.

CallConvSwift

Indica que un método debe usar la convención de llamada de swift .

CallConvThiscall

Indica que un método debe usar la convención de llamada ThisCall.

CallerArgumentExpressionAttribute

Indica que un parámetro captura la expresión pasada para otro parámetro como una cadena.

CallerFilePathAttribute

Permite obtener la ruta de acceso completa del archivo de origen que contiene el autor de la llamada. Esta es la ruta de acceso del archivo en el momento de la compilación.

CallerLineNumberAttribute

Permite obtener el número de línea en el archivo de origen en el que se llama al método .

CallerMemberNameAttribute

Permite obtener el método o el nombre de propiedad del autor de la llamada al método .

CallSite

Una clase base de sitio de llamada dinámica. Este tipo se usa como tipo de parámetro para los destinos de sitio dinámico.

CallSite<T>

Tipo de sitio dinámico.

CallSiteBinder

Clase responsable del enlace en tiempo de ejecución de las operaciones dinámicas en el sitio de llamada dinámica.

CallSiteHelpers

Clase que contiene métodos auxiliares para callSites DLR.

CallSiteOps

Crea y almacena en caché las reglas de enlace.

Closure

Representa el estado en tiempo de ejecución de un método generado dinámicamente.

CollectionBuilderAttribute

Proporciona funcionalidad para los compiladores que usan código administrado para especificar atributos en metadatos que afectan al comportamiento en tiempo de ejecución de Common Language Runtime.

CompilationRelaxationsAttribute

Controla el cumplimiento del código generado por el compilador Just-In-Time (JIT) de Common Language Runtime.

CompilerFeatureRequiredAttribute

Indica que la compatibilidad del compilador con una característica determinada es necesaria para la ubicación en la que se aplica este atributo.

CompilerGeneratedAttribute

Distingue un elemento generado por el compilador de un elemento generado por el usuario. Esta clase no se puede heredar.

CompilerGlobalScopeAttribute

Indica que una clase debe tratarse como si tuviera ámbito global.

CompilerMarshalOverride

Indica que la instancia modificada de una variable difiere de su tipo verdadero al serializar. Esta clase no se puede heredar.

ConditionalWeakTable<TKey,TValue>

Permite a los compiladores asociar dinámicamente campos de objeto a objetos administrados.

ContractHelper

Proporciona métodos que usa la reescritura binaria para controlar errores de contrato.

CppInlineNamespaceAttribute

Define el espacio de nombres insertado en C++/CLI.

CreateNewOnMetadataUpdateAttribute

Indica que se debe reemplazar un tipo en lugar de actualizarse al aplicar actualizaciones de metadatos.

CustomConstantAttribute

Define un valor constante que un compilador puede conservar para un parámetro de campo o método.

DateTimeConstantAttribute

Conserva una constante de DateTime de 8 bytes para un campo o parámetro.

DebugInfoGenerator

Genera información de depuración para expresiones lambda en un árbol de expresiones.

DecimalConstantAttribute

Almacena el valor de una constante Decimal en los metadatos. Esta clase no se puede heredar.

DefaultDependencyAttribute

Proporciona una sugerencia a Common Language Runtime (CLR) que indica la probabilidad de que se cargue una dependencia. Esta clase se usa en un ensamblado dependiente para indicar qué sugerencia se debe usar cuando el elemento primario no especifica el atributo DependencyAttribute. Esta clase no se puede heredar.

DependencyAttribute

Indica cuándo se va a cargar una dependencia mediante el ensamblado de referencia. Esta clase no se puede heredar.

DisablePrivateReflectionAttribute

Indica que los miembros privados contenidos en los tipos de un ensamblado no están disponibles para la reflexión.

DisableRuntimeMarshallingAttribute

Deshabilita el subsistema de serialización administrada o no administrada integrada para P/Invokes, Los tipos Delegate y las invocaciones de puntero de función no administradas.

DiscardableAttribute

Marca una definición de tipo como descartable.

DynamicAttribute

Indica que el uso de Object en un miembro está pensado para tratarse como un tipo enviado dinámicamente.

EnumeratorCancellationAttribute

Permite a los usuarios de métodos enumerables asincrónicos marcar el parámetro que debe recibir el valor del token de cancelación de GetAsyncEnumerator(CancellationToken).

ExecutionScope

Representa el estado en tiempo de ejecución de un método generado dinámicamente.

ExtensionAttribute

Indica que un método es un método de extensión o que una clase o ensamblado contiene métodos de extensión.

FixedAddressValueTypeAttribute

Corrige la dirección de un campo de tipo de valor estático durante toda su duración. Esta clase no se puede heredar.

FixedBufferAttribute

Indica que un campo debe tratarse como que contiene un número fijo de elementos del tipo primitivo especificado. Esta clase no se puede heredar.

FormattableStringFactory

Proporciona un método estático para crear un objeto FormattableString a partir de una cadena de formato compuesto y sus argumentos.

HasCopySemanticsAttribute

Esta clase está obsoleta. Esta clase no se puede heredar.

IDispatchConstantAttribute

Indica que el valor predeterminado del campo o parámetro con atributos es una instancia de DispatchWrapper, donde el WrappedObject es null.

IndexerNameAttribute

Indica el nombre por el que se conoce un indexador en lenguajes de programación que no admiten indizadores directamente.

InlineArrayAttribute

Indica que el almacenamiento de la instancia se replica secuencialmente Length veces.

InternalsVisibleToAttribute

Especifica que los tipos que normalmente son visibles solo dentro del ensamblado actual son visibles para un ensamblado especificado.

InterpolatedStringHandlerArgumentAttribute

Indica qué argumentos para un método que implica un controlador de cadenas interpolado se deben pasar a ese controlador.

InterpolatedStringHandlerAttribute

Indica que el tipo con atributos se va a usar como un controlador de cadenas interpolado.

IsBoxed

Indica que el tipo de referencia modificado es un tipo de valor boxed. Esta clase no se puede heredar.

IsByRefLikeAttribute

Indica que una estructura es similar a la referencia.

IsByValue

Indica que un argumento de método modificado debe interpretarse como una semántica de objetos pasados por valor. Este modificador se aplica a los tipos de referencia. Esta clase no se puede heredar.

IsConst

Indica que el tipo modificado tiene un modificador const. Esta clase no se puede heredar.

IsCopyConstructed

Indica que cualquier copia de valores de este tipo debe usar el constructor de copia proporcionado por el tipo . Esta clase no se puede heredar.

IsExplicitlyDereferenced

Indica que un puntero administrado representa un parámetro de puntero dentro de una firma de método. Esta clase no se puede heredar.

IsExternalInit

Reservado para que lo use el compilador para realizar el seguimiento de los metadatos. Los desarrolladores no deben usar esta clase en el código fuente.

IsImplicitlyDereferenced

Indica que la referencia de recolección de elementos no utilizados modificada representa un parámetro de referencia dentro de una firma de método. Esta clase no se puede heredar.

IsJitIntrinsic

Indica que un método modificado es un valor intrínseco para el que el compilador Just-In-Time (JIT) puede realizar una generación de código especial. Esta clase no se puede heredar.

IsLong

Indica que un entero modificado es un valor estándar de C++ long. Esta clase no se puede heredar.

IsPinned

Indica que una instancia modificada está anclada en memoria. Esta clase no se puede heredar.

IsReadOnlyAttribute

Marca un elemento de programa como de solo lectura.

IsSignUnspecifiedByte

Indica que un modificador no está firmado ni sin firmar. Esta clase no se puede heredar.

IsUdtReturn

Indica que un tipo de valor devuelto es un tipo definido por el usuario. Esta clase no se puede heredar.

IsUnmanagedAttribute

Reservado para su uso por un compilador para realizar el seguimiento de metadatos. Los desarrolladores no deben usar este atributo en el código fuente.

IsVolatile

Marca un campo como volátil. Esta clase no se puede heredar.

IteratorStateMachineAttribute

Indica si un método de Visual Basic está marcado con el modificador Iterator.

IUnknownConstantAttribute

Indica que el valor predeterminado del campo o parámetro con atributos es una instancia de UnknownWrapper, donde el WrappedObject es null. Esta clase no se puede heredar.

MetadataUpdateOriginalTypeAttribute

Emitido por el compilador cuando se actualiza un tipo marcado con CreateNewOnMetadataUpdateAttribute durante una sesión de recarga activa.

MethodImplAttribute

Especifica los detalles de cómo se implementa un método. Esta clase no se puede heredar.

ModuleInitializerAttribute

Se usa para indicar al compilador que se debe llamar a un método en el inicializador del módulo contenedor.

NativeCppClassAttribute

Aplica metadatos a un ensamblado que indica que un tipo es un tipo no administrado. Esta clase no se puede heredar.

NullableAttribute

Reservado para su uso por un compilador para realizar el seguimiento de metadatos. Los desarrolladores no deben usar este atributo en el código fuente.

NullableContextAttribute

Reservado para su uso por un compilador para realizar el seguimiento de metadatos. Los desarrolladores no deben usar este atributo en el código fuente.

NullablePublicOnlyAttribute

Reservado para su uso por un compilador para realizar el seguimiento de metadatos. Los desarrolladores no deben usar este atributo en el código fuente.

OverloadResolutionPriorityAttribute

Especifica la prioridad de un miembro en la resolución de sobrecargas. Cuando no se especifica, la prioridad predeterminada es 0.

ParamCollectionAttribute

Indica que un método permite un número variable de argumentos en su invocación.

PreserveBaseOverridesAttribute

Garantiza que cualquier llamada virtual al método, tanto si usa la firma base como la firma derivada del método, ejecuta la invalidación más derivada.

ReadOnlyCollectionBuilder<T>

Generador de la colección de solo lectura.

ReferenceAssemblyAttribute

Identifica un ensamblado como un ensamblado de referencia, que contiene metadatos pero ningún código ejecutable.

RefSafetyRulesAttribute

Indica la versión de idioma de las reglas de seguridad ref usadas cuando se compiló el módulo.

RequiredAttributeAttribute

Especifica que un compilador de importación debe comprender completamente la semántica de una definición de tipo o rechazar su uso. Esta clase no se puede heredar.

RequiredMemberAttribute

Especifica que un tipo tiene miembros necesarios o que se requiere un miembro.

RequiresLocationAttribute

Reservado para su uso por un compilador para realizar el seguimiento de metadatos. Los desarrolladores no deben usar este atributo en el código fuente.

RuleCache<T>

Representa una caché de reglas de enlace en tiempo de ejecución.

RuntimeCompatibilityAttribute

Especifica si se deben ajustar las excepciones que no derivan de la clase Exception con un objeto RuntimeWrappedException. Esta clase no se puede heredar.

RuntimeFeature

Define las API para determinar si las características específicas son compatibles con Common Language Runtime.

RuntimeHelpers

Proporciona un conjunto de métodos estáticos y propiedades que proporcionan compatibilidad con los compiladores. Esta clase no se puede heredar.

RuntimeOps

Contiene métodos auxiliares llamados a partir de métodos generados dinámicamente.

RuntimeWrappedException

Ajusta una excepción que no deriva de la clase Exception. Esta clase no se puede heredar.

ScopedRefAttribute

Reservado para su uso por un compilador para realizar el seguimiento de metadatos. Los desarrolladores no deben usar este atributo en el código fuente.

ScopelessEnumAttribute

Indica que el nombre del tipo de enumeración no califica una enumeración nativa. Esta clase no se puede heredar.

SkipLocalsInitAttribute

Indica al compilador que la marca .locals init no debe establecerse en encabezados de método anidados al emitir metadatos.

SpecialNameAttribute

Indica que un tipo o miembro se trata de forma especial mediante el tiempo de ejecución o las herramientas. Esta clase no se puede heredar.

StateMachineAttribute

Permite determinar si un método es un método de máquina de estado.

StringFreezingAttribute

Obsolescente. Inmoviliza un literal de cadena al crear imágenes nativas mediante el Ngen.exe (Generador de imágenes nativas). Esta clase no se puede heredar.

StrongBox<T>

Contiene una referencia a un valor.

SuppressIldasmAttribute

Impide que el Ildasm.exe (desensamblador de IL) desensamblar un ensamblado. Esta clase no se puede heredar.

SwitchExpressionException

Indica que una expresión de modificador que no era exhaustiva no pudo coincidir con su entrada en tiempo de ejecución. La excepción contiene opcionalmente un objeto que representa el valor no coincidente.

TupleElementNamesAttribute

Indica que el uso de una tupla de valor en un miembro está pensado para tratarse como una tupla con nombres de elemento.

TypeForwardedFromAttribute

Especifica un Type de origen en otro ensamblado.

TypeForwardedToAttribute

Especifica un Type de destino en otro ensamblado.

Unsafe

Contiene funcionalidad genérica de bajo nivel para manipular punteros administrados y no administrados.

UnsafeAccessorAttribute

Proporciona acceso a un miembro inaccesible de un tipo específico.

UnsafeValueTypeAttribute

Especifica que un tipo contiene una matriz no administrada que podría desbordarse. Esta clase no se puede heredar.

Estructuras

AsyncIteratorMethodBuilder

Representa un generador para iteradores asincrónicos.

AsyncTaskMethodBuilder

Representa un generador para métodos asincrónicos que devuelven una tarea.

AsyncTaskMethodBuilder<TResult>

Representa un generador de métodos asincrónicos que devuelve una tarea y proporciona un parámetro para el resultado.

AsyncValueTaskMethodBuilder

Representa un generador para métodos asincrónicos que devuelven un ValueTask.

AsyncValueTaskMethodBuilder<TResult>

Representa un generador para métodos asincrónicos que devuelve un ValueTask<TResult>.

AsyncVoidMethodBuilder

Representa un generador para métodos asincrónicos que no devuelven un valor.

ConfiguredAsyncDisposable

Proporciona un tipo que se puede usar para configurar cómo se realizan las esperas en un IAsyncDisposable.

ConfiguredCancelableAsyncEnumerable<T>.Enumerator

Proporciona un enumerador asincrónico que permite la iteración cancelable y las esperas configuradas.

ConfiguredCancelableAsyncEnumerable<T>

Proporciona un enumerable asincrónico que permite la iteración cancelable y las esperas configuradas.

ConfiguredTaskAwaitable

Proporciona un objeto awaitable que habilita las esperas configuradas en una tarea.

ConfiguredTaskAwaitable.ConfiguredTaskAwaiter

Proporciona un awaiter para un objeto awaitable (ConfiguredTaskAwaitable).

ConfiguredTaskAwaitable<TResult>.ConfiguredTaskAwaiter

Proporciona un awaiter para un objeto await(ConfiguredTaskAwaitable<TResult>).

ConfiguredTaskAwaitable<TResult>

Proporciona un objeto awaitable que habilita las esperas configuradas en una tarea.

ConfiguredValueTaskAwaitable

Proporciona un tipo esperable que habilita las esperas configuradas en un ValueTask.

ConfiguredValueTaskAwaitable.ConfiguredValueTaskAwaiter

Proporciona un awaiter para un ConfiguredValueTaskAwaitable.

ConfiguredValueTaskAwaitable<TResult>.ConfiguredValueTaskAwaiter

Proporciona un awaiter para un ConfiguredValueTaskAwaitable<TResult>.

ConfiguredValueTaskAwaitable<TResult>

Proporciona un tipo esperable que habilita las esperas configuradas en un ValueTask<TResult>.

DefaultInterpolatedStringHandler

Proporciona un controlador usado por el compilador de lenguaje para procesar cadenas interpoladas en instancias de String.

PoolingAsyncValueTaskMethodBuilder

Representa un generador para métodos asincrónicos que devuelven un ValueTask.

PoolingAsyncValueTaskMethodBuilder<TResult>

Representa un generador para métodos asincrónicos que devuelve un ValueTask<TResult>.

TaskAwaiter

Proporciona un objeto que espera la finalización de una tarea asincrónica.

TaskAwaiter<TResult>

Representa un objeto que espera la finalización de una tarea asincrónica y proporciona un parámetro para el resultado.

ValueTaskAwaiter

Proporciona un awaiter para un ValueTask.

ValueTaskAwaiter<TResult>

Proporciona un awaiter para un ValueTask<TResult>.

YieldAwaitable

Proporciona el contexto para esperar cuando se cambia de forma asincrónica a un entorno de destino.

YieldAwaitable.YieldAwaiter

Proporciona un awaiter para cambiar a un entorno de destino.

Interfaces

IAsyncStateMachine

Representa las máquinas de estado que se generan para los métodos asincrónicos. Este tipo está pensado solo para el uso del compilador.

ICriticalNotifyCompletion

Representa un awaiter que programa las continuaciones cuando se completa una operación await.

INotifyCompletion

Representa una operación que programa continuaciones cuando se completa.

IRuntimeVariables

Representa los valores de las variables en tiempo de ejecución.

IStrongBox

Define una propiedad para tener acceso al valor al que hace referencia un objeto.

ITuple

Define una implementación de tupla de uso general que permite el acceso a los miembros de la instancia de Tupla sin conocer el tipo de tupla subyacente.

Enumeraciones

CompilationRelaxations

Especifica parámetros que controlan la estrictoidad del código generado por el compilador Just-In-Time (JIT) de Common Language Runtime.

LoadHint

Especifica el enlace predeterminado preferido para un ensamblado dependiente.

MethodCodeType

Define cómo se implementa un método.

MethodImplOptions

Especifica constantes que definen los detalles de cómo se implementa un método.

UnsafeAccessorKind

Especifica el tipo de destino al que un UnsafeAccessorAttribute proporciona acceso.

Delegados

ConditionalWeakTable<TKey,TValue>.CreateValueCallback

Representa un método que crea un valor no predeterminado que se va a agregar como parte de un par clave-valor a un objeto ConditionalWeakTable<TKey,TValue>.

RuntimeHelpers.CleanupCode

Representa un método que se va a ejecutar cuando se produce una excepción.

RuntimeHelpers.TryCode

Representa un delegado al código que se debe ejecutar en un bloque try.

Comentarios

Este espacio de nombres es principalmente para los escritores del compilador, aunque varias de sus clases, como InternalsVisibleToAttribute, se usan en una amplia variedad de aplicaciones.