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

Nombre Description
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 modificador Async o asincrónico .

CallConvCdecl

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

CallConvFastcall

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

CallConvStdcall

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

CallConvThiscall

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

CallerFilePathAttribute

Parámetro tags que se debe rellenar con una ruta de acceso específica al archivo de origen del autor de la llamada.

CallerLineNumberAttribute

Parámetro tags que se debe rellenar con un número de línea específico del autor de la llamada.

CallerMemberNameAttribute

Parámetro de etiquetas que se debe rellenar con un nombre de miembro de llamada específico.

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.

CompilationRelaxationsAttribute

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

CompilerGeneratedAttribute

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

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 puede heredarse.

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.

CustomConstantAttribute

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

DateTimeConstantAttribute

Conserva una constante de 8 bytes DateTime 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 puede heredarse.

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 puede heredarse.

DependencyAttribute

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

DisablePrivateReflectionAttribute

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

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 puede heredarse.

FixedBufferAttribute

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

FormattableStringFactory

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

HasCopySemanticsAttribute

Esta clase está obsoleta. Esta clase no puede heredarse.

IDispatchConstantAttribute

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

IndexerNameAttribute

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

InternalsVisibleToAttribute

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

IsBoxed

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

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 puede heredarse.

IsConst

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

IsCopyConstructed

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

IsExplicitlyDereferenced

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

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 puede heredarse.

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 puede heredarse.

IsLong

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

IsPinned

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

IsReadOnlyAttribute

Marca un elemento de programa como de solo lectura.

IsSignUnspecifiedByte

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

IsUdtReturn

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

IsVolatile

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

IteratorStateMachineAttribute

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

IUnknownConstantAttribute

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

MethodImplAttribute

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

NativeCppClassAttribute

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

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.

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 puede heredarse.

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 puede heredarse.

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 puede heredarse.

RuntimeOps

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

RuntimeWrappedException

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

ScopelessEnumAttribute

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

SpecialNameAttribute

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

StateMachineAttribute

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

StringFreezingAttribute

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

StrongBox<T>

Contiene una referencia a un valor.

SuppressIldasmAttribute

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

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.

UnsafeValueTypeAttribute

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

Estructuras

Nombre Description
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 de 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 awaitable(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 .ConfiguredValueTaskAwaitable

ConfiguredValueTaskAwaitable<TResult>.ConfiguredValueTaskAwaiter

Proporciona un awaiter para .ConfiguredValueTaskAwaitable<TResult>

ConfiguredValueTaskAwaitable<TResult>

Proporciona un tipo esperable que habilita las esperas configuradas en 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 .ValueTask

ValueTaskAwaiter<TResult>

Proporciona un awaiter para .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

Nombre Description
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

Nombre Description
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.

Delegados

Nombre Description
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 ConditionalWeakTable<TKey,TValue> objeto .

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 de compiladores, aunque varias de sus clases, como InternalsVisibleToAttribute, se usan en una amplia variedad de aplicaciones.