MethodImplOptions Enumeração

Definição

Especifica constantes que definem os detalhes de como um método é implementado.Specifies constants that define the details of how a method is implemented.

Esta enumeração tem um atributo FlagsAttribute que permite uma combinação bit a bit dos valores membros dela.

public enum class MethodImplOptions
public enum MethodImplOptions
[System.Flags]
public enum MethodImplOptions
[System.Flags]
[System.Serializable]
public enum MethodImplOptions
[System.Flags]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum MethodImplOptions
type MethodImplOptions = 
[<System.Flags>]
type MethodImplOptions = 
[<System.Flags>]
[<System.Serializable>]
type MethodImplOptions = 
[<System.Flags>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type MethodImplOptions = 
Public Enum MethodImplOptions
Herança
MethodImplOptions
Atributos

Campos

AggressiveInlining 256

O método deve ser embutido, se possível.The method should be inlined if possible.

AggressiveOptimization 512

O método contém um afunilamento e precisa ser otimizado.The method contains a hot path and should be optimized.

ForwardRef 16

O método é declarado, mas sua implementação é fornecida em outro lugar.The method is declared, but its implementation is provided elsewhere.

InternalCall 4096

A chamada é interna, ou seja, ela chama um método implementado no Common Language Runtime.The call is internal, that is, it calls a method that's implemented within the common language runtime.

NoInlining 8

O método não pode ser embutido.The method cannot be inlined. Inlining é uma otimização pela qual uma chamada de método é substituída pelo corpo do método.Inlining is an optimization by which a method call is replaced with the method body.

NoOptimization 64

O método não é otimizado pelo compilador JIT (Just-In-Time) nem pela geração de código nativo (consulte Ngen.exe) ao depurar possíveis problemas de geração de código.The method is not optimized by the just-in-time (JIT) compiler or by native code generation (see Ngen.exe) when debugging possible code generation problems.

PreserveSig 128

A assinatura do método será exportada exatamente como declarado.The method signature is exported exactly as declared.

SecurityMitigations 1024

Este membro é reservado para uso futuro.This member is reserved for future use. Introduzido no .NET Framework 4.8.It was introduced in .NET Framework 4.8.

Synchronized 32

O método pode ser executado por um único thread por vez.The method can be executed by only one thread at a time. Métodos estáticos são bloqueados no tipo, enquanto métodos de instância são bloqueados na instância.Static methods lock on the type, whereas instance methods lock on the instance. Apenas um thread pode ser executado em uma das funções de instância e apenas um thread pode ser executado em uma das funções estáticas de uma classe.Only one thread can execute in any of the instance functions, and only one thread can execute in any of a class's static functions.

Unmanaged 4

O método é implementado em um código não gerenciado.The method is implemented in unmanaged code.

Comentários

Essa enumeração é usada com o MethodImplAttribute atributo.This enumeration is used with the MethodImplAttribute attribute.

Você pode especificar vários MethodImplOptions valores usando o operador ORYou can specify multiple MethodImplOptions values by using the bitwise OR operator.

Observação

O bloqueio na instância ou no tipo, como com o Synchronized sinalizador, não é recomendado para tipos públicos, porque um código diferente do seu próprio pode assumir bloqueios em tipos públicos e instâncias.Locking on the instance or on the type, as with the Synchronized flag, is not recommended for public types, because code other than your own can take locks on public types and instances. Isso pode causar deadlocks ou outros problemas de sincronização.This might cause deadlocks or other synchronization problems.

Aplica-se a