System.Runtime.CompilerServices Namespace

Fornece a funcionalidade para autores de compilador que usam código gerenciado para especificar atributos nos metadados que afetam o comportamento de tempo de execução do Commom Language Runtime.

Classes

AccessedThroughPropertyAttribute

Especifica o nome da propriedade que acessa o campo atribuído.

AsyncIteratorStateMachineAttribute

Indica se um método é um iterador assíncrono.

AsyncMethodBuilderAttribute

Indica o tipo do construtor de método assíncrono que deve ser usado para um compilador de linguagem criar o tipo atribuído quando usado como um tipo de retorno de um método assíncrono.

AsyncStateMachineAttribute

Indica se um método é marcado com o modificador Async ou async.

CallConvCdecl

Indica que um método deve usar a convenção de chamada Cdecl.

CallConvFastcall

Essa convenção de chamada não tem suporte nessa versão do .NET.

CallConvMemberFunction

Indica que a convenção de chamada usada é a variante da função membro.

CallConvStdcall

Indica que um método deve usar a convenção de chamada StdCall.

CallConvSuppressGCTransition

Indica que um método deve suprimir a transição do GC como parte da convenção de chamada.

CallConvSwift

Fornece a funcionalidade para autores de compilador que usam código gerenciado para especificar atributos nos metadados que afetam o comportamento de tempo de execução do Commom Language Runtime.

CallConvThiscall

Indica que um método deve usar a convenção de chamada ThisCall.

CallerArgumentExpressionAttribute

Indica que um parâmetro captura a expressão passada para outro parâmetro como uma cadeia de caracteres.

CallerFilePathAttribute

Permite obter o caminho completo do arquivo fonte que contém o chamador. Este é o caminho do arquivo no momento da compilação.

CallerLineNumberAttribute

Permite obter o número de linha no arquivo de origem no qual o método é chamado.

CallerMemberNameAttribute

Permite obter o nome de método ou propriedade do chamador do método.

CallSite

Uma classe base de sites dinâmicos de chamada. Esse tipo é usado como um tipo de parâmetro para os destinos de site dinâmicos.

CallSite<T>

Tipo de site dinâmico.

CallSiteBinder

Classe responsável pela associação em runtime das operações dinâmicas no site de chamada dinâmico.

CallSiteHelpers

Classe que contém métodos auxiliares para CallSites do DLR.

CallSiteOps

Cria e armazena em cache as regras de associação.

Closure

Representa o estado de runtime de um método gerado dinamicamente.

CollectionBuilderAttribute

Fornece a funcionalidade para autores de compilador que usam código gerenciado para especificar atributos nos metadados que afetam o comportamento de tempo de execução do Commom Language Runtime.

CompilationRelaxationsAttribute

Controla a limitação do código gerado pelo compilador Just-In-Time (JIT) do Common Language Runtime.

CompilerFeatureRequiredAttribute

Indica que o suporte do compilador para um recurso específico é necessário para o local em que esse atributo é aplicado.

CompilerGeneratedAttribute

Distingue um elemento gerado pelo compilador de um elemento gerado pelo usuário. Essa classe não pode ser herdada.

CompilerGlobalScopeAttribute

Indica que uma classe deve ser tratada como se tivesse escopo global.

CompilerMarshalOverride

Indica que a instância modificada de uma variável é diferente de seu tipo verdadeiro durante o marshaling. Essa classe não pode ser herdada.

ConditionalWeakTable<TKey,TValue>

Permite que os compiladores anexem dinamicamente os campos de objeto para objetos gerenciados.

ContractHelper

Fornece métodos que o regravador binário usa para lidar com falhas de contrato.

CppInlineNamespaceAttribute

Define o namespace embutido em C++/CLI.

CreateNewOnMetadataUpdateAttribute

Indica que um tipo deve ser substituído em vez de atualizado ao aplicar atualizações de metadados.

CustomConstantAttribute

Define um valor constante que um compilador pode persistir para um parâmetro de método ou campo.

DateTimeConstantAttribute

Mantém uma constante DateTime de 8 bytes para um campo ou parâmetro.

DebugInfoGenerator

Gera informações de depuração para expressões lambda em uma árvore de expressão.

DecimalConstantAttribute

Armazena o valor de uma constante Decimal nos metadados. Essa classe não pode ser herdada.

DefaultDependencyAttribute

Fornece uma dica para o CLR (Common Language Runtime) que indica a probabilidade de uma dependência ser carregada. Essa classe é usada em um assembly dependente para indicar qual dica deve ser usada quando o pai não especifica o atributo DependencyAttribute. Essa classe não pode ser herdada.

DependencyAttribute

Indica quando uma dependência deve ser carregada pelo assembly de referência. Essa classe não pode ser herdada.

DisablePrivateReflectionAttribute

Indica que qualquer membros privados contidos nos tipos de um assembly não estão disponíveis para reflexão.

DisableRuntimeMarshallingAttribute

Desabilita o subsistema de marshalling gerenciado/não gerenciado de runtime interno para P/Invokes, Tipos de delegado e invocações de ponteiro de função não gerenciada.

DiscardableAttribute

Marca uma definição de tipo como descartável.

DynamicAttribute

Indica que o uso do Object em um membro deve ser tratado como um tipo expedido dinamicamente.

EnumeratorCancellationAttribute

Permite que os usuários de métodos enumeráveis assíncronos marquem o parâmetro que deve receber o valor do token de cancelamento de GetAsyncEnumerator(CancellationToken).

ExecutionScope

Representa o estado de runtime de um método gerado dinamicamente.

ExtensionAttribute

Indica que um método é um método de extensão, ou então que uma classe ou um assembly contém métodos de extensão.

FixedAddressValueTypeAttribute

Corrige o endereço de um campo de tipo de valor estático durante seu tempo de vida. Essa classe não pode ser herdada.

FixedBufferAttribute

Indica que um campo deve ser tratado como contendo um número fixo de elementos do tipo primitivo especificado. Essa classe não pode ser herdada.

FormattableStringFactory

Fornece um método estático para criar um objeto FormattableString de uma cadeia de caracteres de formato de composição e seus argumentos.

HasCopySemanticsAttribute

Essa classe está obsoleta. Essa classe não pode ser herdada.

IDispatchConstantAttribute

Indica que o valor padrão para o campo ou o parâmetro atribuído é uma instância de DispatchWrapper, em que WrappedObject é null.

IndexerNameAttribute

Indica o nome pelo qual um indexador é conhecido em linguagens de programação que não dão suporte a indexadores diretamente.

InlineArrayAttribute

Indica que o armazenamento da instância é replicado Length sequencialmente.

InternalsVisibleToAttribute

Especifica que os tipos que são normalmente visíveis somente dentro do assembly atual são visíveis para um assembly específico.

InterpolatedStringHandlerArgumentAttribute

Indica quais argumentos para um método que envolve um manipulador de cadeia de caracteres interpolada devem ser passados para esse manipulador.

InterpolatedStringHandlerAttribute

Indica que o tipo atribuído deve ser usado como um manipulador de cadeia de caracteres interpolada.

IsBoxed

Indica que o tipo de referência modificado é um tipo de valor demarcado. Essa classe não pode ser herdada.

IsByRefLikeAttribute

Indica que uma estrutura de tipo byref.

IsByValue

Indica que um argumento de método modificado deve ser interpretado como tendo a semântica de objeto passado por valor. Esse modificador é aplicado a tipos de referência. Essa classe não pode ser herdada.

IsConst

Indica que o tipo modificado tem um modificador const. Essa classe não pode ser herdada.

IsCopyConstructed

Indica que qualquer cópia de valores desse tipo deve usar o construtor de cópia fornecido pelo tipo. Essa classe não pode ser herdada.

IsExplicitlyDereferenced

Indica que um ponteiro gerenciado representa um parâmetro de ponteiro em uma assinatura de método. Essa classe não pode ser herdada.

IsExternalInit

Reservado para ser usado pelo compilador para metadados de acompanhamento. Esta classe não deve ser usada por desenvolvedores no código-fonte.

IsImplicitlyDereferenced

Indica que a referência de coleta de lixo modificada representa um parâmetro de referência em uma assinatura de método. Essa classe não pode ser herdada.

IsJitIntrinsic

Indica que um método modificado é um valor intrínseco para o qual o compilador JIT (Just-In-Time) pode executar uma geração de código especial. Essa classe não pode ser herdada.

IsLong

Indica que um inteiro modificado é um valor long C++ padrão. Essa classe não pode ser herdada.

IsPinned

Indica que uma instância modificada está fixada na memória. Essa classe não pode ser herdada.

IsReadOnlyAttribute

Marca um elemento do programa como somente leitura.

IsSignUnspecifiedByte

Indica que um modificador não é assinado nem não assinado. Essa classe não pode ser herdada.

IsUdtReturn

Indica que um tipo de retorno é um tipo definido pelo usuário. Essa classe não pode ser herdada.

IsUnmanagedAttribute

Reservado para uso por um compilador para acompanhar metadados. Esse atributo não deve ser usado por desenvolvedores no código-fonte.

IsVolatile

Marca um campo como volátil. Essa classe não pode ser herdada.

IteratorStateMachineAttribute

Indica se um método no Visual Basic é marcado com o modificador Iterator.

IUnknownConstantAttribute

Indica que o valor padrão para o campo ou o parâmetro atribuído é uma instância de UnknownWrapper, em que WrappedObject é null. Essa classe não pode ser herdada.

MetadataUpdateOriginalTypeAttribute

Emitido pelo compilador quando um tipo marcado com CreateNewOnMetadataUpdateAttribute é atualizado durante uma sessão de recarregamento frequente.

MethodImplAttribute

Especifica os detalhes de como um método é implementado. Essa classe não pode ser herdada.

ModuleInitializerAttribute

Usado para indicar ao compilador que um método deve ser chamado no inicializador do módulo que o contém.

NativeCppClassAttribute

Aplica metadados a um assembly que indica que um tipo é um tipo não gerenciado. Essa classe não pode ser herdada.

NullableAttribute

Reservado para uso por um compilador para acompanhar metadados. Esse atributo não deve ser usado por desenvolvedores no código-fonte.

NullableContextAttribute

Reservado para uso por um compilador para acompanhar metadados. Esse atributo não deve ser usado por desenvolvedores no código-fonte.

NullablePublicOnlyAttribute

Reservado para uso por um compilador para acompanhar metadados. Esse atributo não deve ser usado por desenvolvedores no código-fonte.

PreserveBaseOverridesAttribute

Garante que qualquer chamada virtual para o método, seja ela usando a assinatura base ou a assinatura derivada do método, execute a substituição mais derivada.

ReadOnlyCollectionBuilder<T>

O construtor para coleção somente leitura.

ReferenceAssemblyAttribute

Identifica um assembly como um assembly de referência, que contém metadados, mas nenhum código executável.

RefSafetyRulesAttribute

Indica a versão de idioma das regras de segurança ref usadas quando o módulo foi compilado.

RequiredAttributeAttribute

Especifica que um compilador de importação deve compreender totalmente a semântica de uma definição de tipo ou se negar a usá-la. Essa classe não pode ser herdada.

RequiredMemberAttribute

Especifica que um tipo tem membros necessários ou que um membro é necessário.

RequiresLocationAttribute

Reservado para uso por um compilador para acompanhar metadados. Esse atributo não deve ser usado por desenvolvedores no código-fonte.

RuleCache<T>

Representa um cache de regras de associação em runtime.

RuntimeCompatibilityAttribute

Especifica se deve encapsular as exceções que não derivam da classe Exception com um objeto RuntimeWrappedException. Essa classe não pode ser herdada.

RuntimeFeature

Define APIs para determinar se recursos específicos são compatíveis com o Common Language Runtime.

RuntimeHelpers

Fornece um conjunto de propriedades que dão suporte a compiladores e métodos estáticos. Essa classe não pode ser herdada.

RuntimeOps

Contém métodos de auxiliar chamados de métodos gerados dinamicamente.

RuntimeWrappedException

Encapsula uma exceção que não deriva da classe Exception. Essa classe não pode ser herdada.

ScopedRefAttribute

Reservado para uso por um compilador para acompanhar metadados. Esse atributo não deve ser usado por desenvolvedores no código-fonte.

ScopelessEnumAttribute

Indica que uma enumeração nativa não está qualificada pelo nome do tipo de enumeração. Essa classe não pode ser herdada.

SkipLocalsInitAttribute

Indica ao compilador que o sinalizador .locals init não deve ser definido em cabeçalhos de método aninhados durante a emissão de metadados.

SpecialNameAttribute

Indica que um tipo ou membro é tratado de forma especial pelo runtime ou pelas ferramentas. Essa classe não pode ser herdada.

StateMachineAttribute

Permite que você determine se um método é um método de máquina de estado.

StringFreezingAttribute

Preterido. Congela um literal de cadeia de caracteres ao criar imagens nativas usando o Ngen.exe (Gerador de Imagem Nativa). Essa classe não pode ser herdada.

StrongBox<T>

Contém uma referência a um valor.

SuppressIldasmAttribute

Impede que o Ildasm.exe (IL Disassembler) desmonte um assembly. Essa classe não pode ser herdada.

SwitchExpressionException

Indica que uma expressão switch que não foi completa falhou em corresponder à sua entrada em runtime. A exceção, opcionalmente, contém um objeto que representa o valor não correspondente.

TupleElementNamesAttribute

Indica que o uso de uma tupla de valor em um membro deve ser tratado como uma tupla com nomes de elemento.

TypeForwardedFromAttribute

Especifica um Type de origem em outro assembly.

TypeForwardedToAttribute

Especifica um Type de destino em outro assembly.

Unsafe

Contém funcionalidade genérica de baixo nível para manipular ponteiros gerenciados e não gerenciados.

UnsafeAccessorAttribute

Fornece acesso a um membro inacessível de um tipo específico.

UnsafeValueTypeAttribute

Especifica que um tipo contém uma matriz não gerenciada que pode potencialmente estourar. Essa classe não pode ser herdada.

Estruturas

AsyncIteratorMethodBuilder

Representa um construtor para iteradores assíncronos.

AsyncTaskMethodBuilder

Representa um construtor para métodos assíncronos que retornam uma tarefa.

AsyncTaskMethodBuilder<TResult>

Representa um construtor para métodos assíncronos, que retorna uma tarefa e fornece um parâmetro para o resultado.

AsyncValueTaskMethodBuilder

Representa um construtor para métodos assíncronos que retornam um ValueTask.

AsyncValueTaskMethodBuilder<TResult>

Representa um construtor para métodos assíncronos que retornam um ValueTask<TResult>.

AsyncVoidMethodBuilder

Representa um construtor para métodos assíncronos que não retornam um valor.

ConfiguredAsyncDisposable

Fornece um tipo que pode ser usado para configurar as esperas em um IAsyncDisposable são realizadas.

ConfiguredCancelableAsyncEnumerable<T>.Enumerator

Fornece um enumerador assíncrono aguardável que permite uma iteração cancelável e esperas configuradas.

ConfiguredCancelableAsyncEnumerable<T>

Fornece um enumerável assíncrono aguardável que permite uma iteração cancelável e esperas configuradas.

ConfiguredTaskAwaitable

Fornece um objeto aguardável que habilita esperas configuradas em uma tarefa.

ConfiguredTaskAwaitable.ConfiguredTaskAwaiter

Fornece um awaiter para um objeto (ConfiguredTaskAwaitable) aguardável.

ConfiguredTaskAwaitable<TResult>.ConfiguredTaskAwaiter

Fornece um awaiter para um objeto (ConfiguredTaskAwaitable<TResult>) aguardável.

ConfiguredTaskAwaitable<TResult>

Fornece um objeto aguardável que habilita esperas configuradas em uma tarefa.

ConfiguredValueTaskAwaitable

Fornece um tipo aguardável que permite esperas configuradas em um ValueTask.

ConfiguredValueTaskAwaitable.ConfiguredValueTaskAwaiter

Fornece um awaiter para um ConfiguredValueTaskAwaitable.

ConfiguredValueTaskAwaitable<TResult>.ConfiguredValueTaskAwaiter

Fornece um awaiter para um ConfiguredValueTaskAwaitable<TResult>.

ConfiguredValueTaskAwaitable<TResult>

Fornece um tipo aguardável que permite esperas configuradas em um ValueTask<TResult>.

DefaultInterpolatedStringHandler

Fornece um manipulador usado pelo compilador de linguagem para processar cadeias de caracteres interpoladas em String instâncias.

PoolingAsyncValueTaskMethodBuilder

Representa um construtor para métodos assíncronos que retornam um ValueTask.

PoolingAsyncValueTaskMethodBuilder<TResult>

Representa um construtor para métodos assíncronos que retornam um ValueTask<TResult>.

TaskAwaiter

Fornece um objeto que aguarda a conclusão de uma tarefa assíncrona.

TaskAwaiter<TResult>

Representa um objeto que aguarda a conclusão de uma tarefa assíncrona e fornece um parâmetro para o resultado.

ValueTaskAwaiter

Fornece um awaiter para um ValueTask.

ValueTaskAwaiter<TResult>

Fornece um awaiter para um ValueTask<TResult>.

YieldAwaitable

Fornece o contexto de espera ao alternar assincronamente para um ambiente de destino.

YieldAwaitable.YieldAwaiter

Fornece um aguardador para alternar para um ambiente de destino.

Interfaces

IAsyncStateMachine

Representa as máquinas de estado que são geradas para métodos assíncronos. Esse tipo destina-se apenas ao uso pelo compilador.

ICriticalNotifyCompletion

Representa um aguardador que agenda continuações quando uma operação de espera é concluída.

INotifyCompletion

Representa uma operação que agenda continuações quando ela é concluída.

IRuntimeVariables

Representa os valores das variáveis de tempo de execução.

IStrongBox

Define uma propriedade para acessar o valor que faz referência a um objeto.

ITuple

Define uma implementação de tupla para uso geral que permite o acesso a membros de instância de tupla sem conhecer o tipo de tupla subjacente.

Enumerações

CompilationRelaxations

Especifica os parâmetros que controlam a rigidez do código gerado pelo compilador JIT (Just-In-Time) do Common Language Runtime.

LoadHint

Especifica a associação padrão preferencial para um assembly dependente.

MethodCodeType

Define como um método é implementado.

MethodImplOptions

Especifica constantes que definem os detalhes de como um método é implementado.

UnsafeAccessorKind

Especifica o tipo de destino ao qual um UnsafeAccessorAttribute está fornecendo acesso.

Delegados

ConditionalWeakTable<TKey,TValue>.CreateValueCallback

Representa um método que cria um valor não padrão a ser adicionado como parte de um par chave/valor a um objeto ConditionalWeakTable<TKey,TValue>.

RuntimeHelpers.CleanupCode

Representa um método a ser executado quando ocorre uma exceção.

RuntimeHelpers.TryCode

Representa um delegado a ser codificado que deve ser executado em um bloco try.

Comentários

Esse namespace é principalmente para gravadores de compilador, embora várias de suas classes, como InternalsVisibleToAttribute, sejam usadas em uma ampla variedade de aplicativos.