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 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 |
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 |
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 |
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 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 é |
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 |
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 |
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 |
IUnknownConstantAttribute |
Indica que o valor padrão do campo ou parâmetro atribuído é uma instância de UnknownWrapper, em que o 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 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 |
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.
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