Partilhar via


System.Runtime.CompilerServices Namespace

Fornece funcionalidade para gravadores de compilador que usam código gerenciado para especificar atributos em metadados que afetam o comportamento em tempo de execução do common 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étodos assíncronos que deve ser usado por um compilador de linguagem para criar o tipo atribuído quando usado como o tipo de retorno de um método assíncrono.

AsyncStateMachineAttribute

Indica se um método está marcado com o Assíncrono ou modificador assíncrono.

CallConvCdecl

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

CallConvFastcall

Não há suporte para essa convenção de chamada nesta 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

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

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 que você obtenha o caminho completo do arquivo de origem que contém o chamador. Esse é o caminho do arquivo no momento da compilação.

CallerLineNumberAttribute

Permite que você obtenha o número de linha no arquivo de origem no qual o método é chamado.

CallerMemberNameAttribute

Permite que você obtenha o método ou o nome da propriedade do chamador para o método.

CallSite

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

CallSite<T>

Tipo de site dinâmico.

CallSiteBinder

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

CallSiteHelpers

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

CallSiteOps

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

Closure

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

CollectionBuilderAttribute

Fornece funcionalidade para gravadores de compilador que usam código gerenciado para especificar atributos em metadados que afetam o comportamento em tempo de execução do common language runtime.

CompilationRelaxationsAttribute

Controla a rigidez do código gerado pelo compilador JIT (just-in-time) 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 difere de seu tipo verdadeiro ao fazer marshaling. Essa classe não pode ser herdada.

ConditionalWeakTable<TKey,TValue>

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

ContractHelper

Fornece métodos que o reescrita 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 campo ou método.

DateTimeConstantAttribute

Persiste uma constante de 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 em 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 todos os 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 descarte.

DynamicAttribute

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

EnumeratorCancellationAttribute

Permite que os usuários de métodos assíncronos enumeráveis 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 que uma classe ou assembly contém métodos de extensão.

FixedAddressValueTypeAttribute

Corrige o endereço de um campo de tipo de valor estático ao longo de 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 composto e seus argumentos.

HasCopySemanticsAttribute

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

IDispatchConstantAttribute

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

IndexerNameAttribute

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

InlineArrayAttribute

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

InternalsVisibleToAttribute

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

InterpolatedStringHandlerArgumentAttribute

Indica quais argumentos para um método envolvendo um manipulador de cadeia de caracteres interpolado devem ser passados para esse manipulador.

InterpolatedStringHandlerAttribute

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

IsBoxed

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

IsByRefLikeAttribute

Indica que uma estrutura é semelhante a byref.

IsByValue

Indica que um argumento de método modificado deve ser interpretado como tendo 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 de 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 dentro de uma assinatura de método. Essa classe não pode ser herdada.

IsExternalInit

Reservado para ser usado pelo compilador para acompanhar metadados. Essa 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 dentro de 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 just-in-time (JIT) pode executar uma geração de código especial. Essa classe não pode ser herdada.

IsLong

Indica que um inteiro modificado é um valor de 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 de programa como somente leitura.

IsSignUnspecifiedByte

Indica que um modificador não está assinado nem sem sinal. 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 pelos 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 está marcado com o modificador Iterator.

IUnknownConstantAttribute

Indica que o valor padrão do campo ou parâmetro atribuído é uma instância de UnknownWrapper, em que o 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 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 pelos desenvolvedores no código-fonte.

NullableContextAttribute

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

NullablePublicOnlyAttribute

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

OverloadResolutionPriorityAttribute

Especifica a prioridade de um membro na resolução de sobrecarga. Quando não especificado, a prioridade padrão é 0.

ParamCollectionAttribute

Indica que um método permite um número variável de argumentos em sua invocação.

PreserveBaseOverridesAttribute

Garante que qualquer chamada virtual para o método, independentemente de usar a assinatura base ou a assinatura derivada do método, execute a substituição mais derivada.

ReadOnlyCollectionBuilder<T>

O construtor da 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 do idioma das regras de segurança de ref usadas quando o módulo foi compilado.

RequiredAttributeAttribute

Especifica que um compilador de importação deve entender completamente a semântica de uma definição de tipo ou recusar-se 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 pelos desenvolvedores no código-fonte.

RuleCache<T>

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

RuntimeCompatibilityAttribute

Especifica se as exceções 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 métodos estáticos e propriedades que fornecem suporte para compiladores. Essa classe não pode ser herdada.

RuntimeOps

Contém métodos auxiliares 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 pelos desenvolvedores no código-fonte.

ScopelessEnumAttribute

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

SkipLocalsInitAttribute

Indica ao compilador que o sinalizador de init .locals não deve ser definido em cabeçalhos de método aninhados ao emitir 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 determinar se um método é um método de computador de estado.

StringFreezingAttribute

Deprecado. 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>

Manté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 de comutador que não foi exaustiva falhou ao corresponder à sua entrada em runtime. Opcionalmente, a exceção contém um objeto que representa o valor incompatível.

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 retorna 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 como as esperas em um IAsyncDisposable são executadas.

ConfiguredCancelableAsyncEnumerable<T>.Enumerator

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

ConfiguredCancelableAsyncEnumerable<T>

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

ConfiguredTaskAwaitable

Fornece um objeto aguardável que permite aguardas configurados em uma tarefa.

ConfiguredTaskAwaitable.ConfiguredTaskAwaiter

Fornece um aguardador para um objeto awaitable (ConfiguredTaskAwaitable).

ConfiguredTaskAwaitable<TResult>.ConfiguredTaskAwaiter

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

ConfiguredTaskAwaitable<TResult>

Fornece um objeto aguardável que permite aguardas configurados em uma tarefa.

ConfiguredValueTaskAwaitable

Fornece um tipo aguardado que permite aguardas configurados em um ValueTask.

ConfiguredValueTaskAwaitable.ConfiguredValueTaskAwaiter

Fornece um aguardador para um ConfiguredValueTaskAwaitable.

ConfiguredValueTaskAwaitable<TResult>.ConfiguredValueTaskAwaiter

Fornece um aguardador para um ConfiguredValueTaskAwaitable<TResult>.

ConfiguredValueTaskAwaitable<TResult>

Fornece um tipo aguardado que permite aguardas configurados em um ValueTask<TResult>.

DefaultInterpolatedStringHandler

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

PoolingAsyncValueTaskMethodBuilder

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

PoolingAsyncValueTaskMethodBuilder<TResult>

Representa um construtor para métodos assíncronos que retorna 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 aguardador para um ValueTask.

ValueTaskAwaiter<TResult>

Fornece um aguardador para um ValueTask<TResult>.

YieldAwaitable

Fornece o contexto de espera ao alternar assíncronamente para um ambiente de destino.

YieldAwaitable.YieldAwaiter

Fornece um aguardador para alternar para um ambiente de destino.

Interfaces

IAsyncStateMachine

Representa os computadores de estado gerados para métodos assíncronos. Esse tipo destina-se apenas ao uso do 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 é concluída.

IRuntimeVariables

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

IStrongBox

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

ITuple

Define uma implementação de Tupla de uso geral que permite o acesso aos membros da instância de Tupla sem saber o tipo de Tupla subjacente.

Enumerações

CompilationRelaxations

Especifica 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 para o código 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.