System.Runtime.CompilerServices Namespace
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 |
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 |
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 |
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 é |
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 |
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 |
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 rastrear 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 |
IUnknownConstantAttribute |
Indica que o valor padrão para o campo ou o parâmetro atribuído é uma instância de UnknownWrapper, em que WrappedObject é |
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 rastrear metadados. Esse atributo não deve ser usado por desenvolvedores no código-fonte. |
NullableContextAttribute |
Reservado para uso por um compilador para rastrear metadados. Esse atributo não deve ser usado por desenvolvedores no código-fonte. |
NullablePublicOnlyAttribute |
Reservado para uso por um compilador para rastrear metadados. Esse atributo não deve ser usado por desenvolvedores no código-fonte. |
OverloadResolutionPriorityAttribute |
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. |
ParamCollectionAttribute |
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. |
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 do 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 rastrear 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 rastrear 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.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários